Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用webdriver单击此按钮?_Python_Selenium_Selenium Webdriver - Fatal编程技术网

Python 如何使用webdriver单击此按钮?

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

我想点击这段代码上的这个按钮,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.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')]