一尘不染

在Python中使用Selenium单击/选择单选按钮

selenium

我正在尝试从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。(单击它)我该怎么做?


阅读 708

收藏
2020-06-26

共1个答案

一尘不染

使用CSS选择器或XPath value直接按属性选择,然后单击它。

browser.find_element_by_css_selector("input[type='radio'][value='SRF']").click()
# browser.find_element_by_xpath(".//input[@type='radio' and @value='SRF']").click()

更正(但是OP应该学习如何在文档中查找)

  • 在Python绑定中,find_elements_by_css它不存在,称为find_elements_by_css_selector。一个人应该能够查看异常消息并在这里回顾文档并找出原因。
  • 注意之间的差异find_element_by_css_selectorfind_elements_by_css_selector?第一个找到第一个匹配的元素,第二个找到一个列表,因此您需要使用[0]进行索引。是API文档。之所以使用后者,是因为我复制了您的代码,但我不应该这样做。
2020-06-26