Python 如何使用webdriver单击此按钮?
我想点击这段代码上的这个按钮,href中的问题每次都会改变,所以我无法通过href链接找到它,而对于我使用的文本按钮Python 如何使用webdriver单击此按钮?,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我想点击这段代码上的这个按钮,href中的问题每次都会改变,所以我无法通过href链接找到它,而对于我使用的文本按钮 driver.find_element_by_xpath(“//button[text()='Vérifier Maintenant'])。单击() 以下是我得到的错误: Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> driver.f
driver.find_element_by_xpath(“//button[text()='Vérifier Maintenant'])。单击()
以下是我得到的错误:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
driver.find_element_by_xpath("//button[text()='Vérifier Maintenant']").click()
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value']
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[text()='V\xe9rifier Maintenant']"}
(Session info: chrome=73.0.3683.103)
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 6.3.9600 x86_64)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
驱动程序。通过xpath(//按钮[text()='Vérifier Maintenant'])查找元素。单击()
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,第394行,在find\u element\u by\u xpath中
返回self.find_元素(by=by.XPATH,value=XPATH)
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,第978行,位于find\u元素中
'value':value})['value']
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,第321行,执行
self.error\u handler.check\u响应(响应)
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\errorhandler.py”,第242行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
NoSuchElementException:消息:没有这样的元素:无法找到元素:{“方法”:“xpath”,“选择器”:”//button[text()='V\xe9rifier Maintenant']”
(会话信息:chrome=73.0.3683.103)
(驱动程序信息:chromedriver=73.0.3683.68(47787ec04b6e38e22703e856e101e840b65afe72),平台=Windows NT 6.3.9600 x8664)
下面的示例如下所示:
username = driver.find_element_by_xpath("//input[@name='username']")
所以我想在你的情况下会是这样的:
driver.find_element_by_xpath("//button[@name='button']").click()
因为名称是“button”,类型也是
HTML元素。我相信您混淆了另一种通过链接文本进行搜索的方法。具体地
driver.find_element_by_link_text('some link text')
试试这个选择器
//button[contains(text(),'rifier Maintenant')]
尽量不要在选择器中使用特殊字符,大多数情况下它们都不起作用。如果按钮名称是唯一的,那么这个xpath就足够了:
//button[@name='button']
否则,您可以使用此选项:
//button[@name='button' and contains(text(),'rifier Maintenant')]
该按钮有一个
名称
属性。。。你试过用它吗?.find_element_by_name(“button”)
或.find_element_by_css_selector(“[name='button']”)
应该可以用。@JeffC请花些时间阅读注释框中的占位符文本,其中明确提到避免在注释中回答问题。@DebanjanB如果你阅读我的注释,你会发现这是一个问题。。。注意结尾处“?”的位置。OP只展示了一次尝试,我问她是否尝试过比建议答案更简单的其他选项。@JeffC作为社区成员,我们都知道你构建答案的习惯,从讨论中收集评论。继续前进,请避免在评论中回答问题。@DebanjanB如果这是真的,我相信你早就告诉我了。。。请停止发明,继续前进。。。
//button[@name='button' and contains(text(),'rifier Maintenant')]