Selenium-选择单选按钮

时间:2016-07-12 19:32:09

标签: python python-3.x selenium selenium-webdriver

在Python3中使用Selenium选择一个单选按钮 image here。以下是我用来选择单选按钮但不起作用的代码。

    emailElem = browser.find_element_by_class_name('SSR_DUMMY_RECV1$sels$0')
    emailElem.click()

3 个答案:

答案 0 :(得分:2)

“by class name”定位器应该用于通过 class attribute 值定位元素,在这种情况下使用“by id”或“by name”代替:

emailElem = browser.find_element_by_id('SSR_DUMMY_RECV1$sels$0')
emailElem = browser.find_element_by_name('SSR_DUMMY_RECV1$sels$0')

答案 1 :(得分:0)

再加上alecxe的答案。

您需要确保其idname是唯一的。

如果它们不是唯一的,您可以向find by方法添加更多属性,例如

emailElem = browser.find_element_by_css_selector("input[id='SSR_DUMMY_RECV1$sels$0'][class=''PSRADIOBUTTON][type='radio']")

您使用的属性越多,您找到唯一元素的可能性就越大。

答案 2 :(得分:0)

根据对原始问题的评论,您声称自己收到了此错误:

Traceback (most recent call last): 
  File "./fsu.py", line 20, in <module> 
   emailElem.click() 
AttributeError: 'list' object has no attribute 'click' 

听起来您正在调用其中一个get_elements_*函数而不是get_element_*(请注意复数elements)。

错误消息中包含大量信息,需要从字面上理解。您的错误消息告诉您列表没有单击方法,这是真的。在行间读取意味着您调用.click()的对象是一个列表,即使您认为它是一个元素。