如何使用Selenium Python选择/单击单选按钮
我正在使用Selenium测试一些操作,希望选择一个如何使用Selenium Python选择/单击单选按钮,python,python-3.x,selenium,selenium-webdriver,selenium-chromedriver,Python,Python 3.x,Selenium,Selenium Webdriver,Selenium Chromedriver,我正在使用Selenium测试一些操作,希望选择一个“香蕉”。但我不能选择任何按钮。我做错了什么 WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[type='radio'][value='1']"))).click() HTML代码 @尼廷·塔塔,@Mike67,@Jortega <div class="st-mb__14">
“香蕉”
。但我不能选择任何按钮。我做错了什么
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[type='radio'][value='1']"))).click()
HTML代码
@尼廷·塔塔,@Mike67,@Jortega
<div class="st-mb__14">
<label class="st-input__title block required" for="NewForm_type_fruit">Type of fruits</label> <input id="Type_fruit" type="hidden" value="" name="NewForm[type_user]" />
<span id="NewForm_type_fruit">
<input class="st-input" id="NewForm_type_fruit_0" value="1" type="radio" name="NewForm_type_fruit[type_fruit]" /> <label for="NewForm_type_fruit_0">banana</label><br />
<input class="st-input" id="NewForm_type_fruit_1" value="3" type="radio" name="NewForm_type_fruit[type_fruit]" /> <label for="NewForm_type_fruit_1">orange</label><br />
<input class="st-input" id="NewForm_type_fruit_2" value="2" type="radio" name="NewForm_type_fruit[type_fruit]" /> <label for="NewForm_type_fruit_2">pineapple</label>
</span>
水果种类
香蕉
橙色
菠萝
我创建了一个测试html文件:
<html>
<body>
<div>
<input type="radio" value="1" name="x"/>banana</br>
<input type="radio" value="2" name="x"/>orange</br>
<input type="radio" value="3" name="x"/>pineapple</br>
</div>
</body>
</html>
该复选框工作正常:
如果您可以提供一些不起作用的html(文本),这可能会帮助我们进行测试。我认为这应该会有所帮助
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.By.XPATH,
//label[contains(text(),"banana")]/preceding-sibling::input))).click()
如果这不起作用,请将HTML作为文本提供。请将HTML作为文本添加到问题中。这不起作用。我首先提供了HTML作为文本,但这并不适合我。我首先提供了文本形式的HTML,我尝试了您提供的HTML。单选按钮仍然有效。页面上还有其他单选按钮吗?页面上只有三个按钮作为HTML。我认为Ajax和JavaScript可能有问题?但收音机没有选择我的密码或你的密码。
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.By.XPATH,
//label[contains(text(),"banana")]/preceding-sibling::input))).click()