在Python3使用Selenium选择一个单选按钮 image here。下面是我用来选择单选按钮的代码,但它不起作用。硒选择单选按钮
emailElem = browser.find_element_by_class_name('SSR_DUMMY_RECV1$sels$0')
emailElem.click()
在Python3使用Selenium选择一个单选按钮 image here。下面是我用来选择单选按钮的代码,但它不起作用。硒选择单选按钮
emailElem = browser.find_element_by_class_name('SSR_DUMMY_RECV1$sels$0')
emailElem.click()
“类名”定位应该使用class属性来定位元素值,在这种情况下使用“的ID”或“按名称”,而不是:
emailElem = browser.find_element_by_id('SSR_DUMMY_RECV1$sels$0')
emailElem = browser.find_element_by_name('SSR_DUMMY_RECV1$sels$0')
谢谢你的回复! 不幸的是我得到这个错误: 回溯(最近通话最后一个): 文件 “./fsu.py”,第20行,在
@ user6581117您正在使用'find_elements_by_ *',但需要使用'find_element_ *'方法 - 注意's'。 – alecxe
谢谢你指出。我纠正了它,但仍然继续收到此错误。 'selenium.common.exceptions.NoSuchElementException:消息:找不到元素:{ “方法”: “名字”, “选择”: “SSR_DUMMY_RECV1 $ SELS $ 0”}' – Carolyn
只需添加alecxe的答案更多一点。
你需要确保其id
和name
是唯一的。
如果不是唯一的,你可以到find by
方法,例如增加更多的属性
emailElem = browser.find_element_by_css_selector("input[id='SSR_DUMMY_RECV1$sels$0'][class=''PSRADIOBUTTON][type='radio']")
您使用的属性越多,定位唯一元素的可能性就越大。
感谢您回复! 不幸的是我不断收到此错误 提高exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions。InvalidSelectorException:消息:给定的选择器输入[id ='SSR_DUMMY_RECV1 $ sels $ 0'] [class =''PSRADIOBUTTON] [type ='radio']无效或不导致WebElement。发生以下错误: InvalidSelectorError:指定了无效或非法的选择器 – Carolyn
根据意见,原来的问题,你要求你收到此错误:
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方法,这是真的。读取行之间的意思是,即使您认为它是一个元素,您调用.click()
的对象也是一个列表。
非常感谢你@Bryan Oakley!有什么办法可以选择它吗?从[Selenium Docs](http://selenium-python.readthedocs.io/api.html?highlight=radio#selenium.webdriver.remote.webelement.WebElement.is_selected)我收集它必须是'is_selected()'但我不知道如何实现 – Carolyn
@ user6581117:请问您的问题如下? http://stackoverflow.com/q/21322116/7432 –
'selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:{“method”:“css selector”,“selector”:“input [type ='收音机']“}'我尝试了几个答案,但似乎没有工作,我仍然得到这个错误的类似变化。 – Carolyn
“不起作用”是什么意思?程序崩溃了吗?你有错误信息吗?它是否点击错误的元素? –
@BryanOakley很抱歉的不确定性,我得到这样 ./fsu.py 回溯错误(最后最近一次调用): 文件 “./fsu.py”,第20行,在 emailElem.click() AttributeError:'list'对象没有属性'click' –
Carolyn
如果你得到''list'对象没有属性点击',这听起来像你打电话'find_elements_by_whatever'(注意“s”)。这将返回一个元素列表而不是单个元素。你确定你在调用“find element_ *”而不是“find_elements_ *”吗?你能否通过编辑你的问题来显示确切的代码和确切的错误? –