我试图从3个按钮的列表中进行选择,但找不到选择它们的方法。以下是我正在使用的HTML。
<input name="pollQuestion" type="radio" value="SRF">
<font face="arial,sans-serif" size="-1">ChoiceOne</font><br />
<input name="pollQuestion" type="radio" value="COM">
<font face="arial,sans-serif" size="-1">ChoiceTwo</font><br />
<input name="pollQuestion" type="radio" value="MOT">
<font face="arial,sans-serif" size="-1">ChoiceThree</font>
我可以使用以下代码找到它:
for i in browser.find_elements_by_xpath("//*[@type='radio']"):
print i.get_attribute("value")
输出:SRF,COM,MOT
但我想选择ChoiceOne。 (点击它)我该怎么做?
答案 0 :(得分:34)
使用CSS Selector或XPath直接选择value
属性,然后单击它。
browser.find_elements_by_css("input[type='radio'][value='SRF']").click
# browser.find_element_by_xpath(".//input[@type='radio' and @value='SRF']").click
更正(但OP应该学习如何在文档中查找)
答案 1 :(得分:1)
find_elements_by_css_selector
为我工作,
browser.find_elements_by_css_selector("input[type='radio'][value='SRF']")[0].click()
答案 2 :(得分:1)
Selenium webdriver单选按钮单击
当我使用xpath时:
driver.find_element_by_xpath("//input[@id='id_gender2']").click()
未选中单选按钮
但是我使用了css_selector:
driver.find_element_by_css_selector("input#id_gender1").click()
选中单选按钮
答案 3 :(得分:1)
也没有为我选择第一个单选按钮。但是在插入时间后,它对我有用。
driver.find_element_by_class_name("login").click()
driver.find_element_by_id("email_create").send_keys("testsel000@gmail.com")
driver.find_element_by_id("SubmitCreate").click()
time.sleep(2)
driver.find_element_by_css_selector("#id_gender2").click()
答案 4 :(得分:0)
browser.find_elements_by_xpath(".//input[@type='radio' and @value='SRF']")[0].click
这最终成了修复。我在没有[0]的情况下遇到错误,列表没有click()属性(即使只有1个匹配)。感谢您帮助user1177636!