Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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:Selenium没有这样的元素:无法定位元素:{quot;method";:“xpath";,“selector";:“//button[@data id=1]”_Python_Django_Selenium_Unit Testing - Fatal编程技术网

Python:Selenium没有这样的元素:无法定位元素:{quot;method";:“xpath";,“selector";:“//button[@data id=1]”

Python:Selenium没有这样的元素:无法定位元素:{quot;method";:“xpath";,“selector";:“//button[@data id=1]”,python,django,selenium,unit-testing,Python,Django,Selenium,Unit Testing,为什么我得到这个错误没有这样的元素:找不到元素:{“方法”:“xpath”,“选择器”:“//button[@data id=1]”} test.py zone = Zone.objects.last() self.browser.refresh() time.sleep(2) self.browser.find_element_by_xpath("//button[@data-id="+str(zone.id)+"]").click() # zone.id = 1 我也尝试过使用self.b

为什么我得到这个错误
没有这样的元素:找不到元素:{“方法”:“xpath”,“选择器”:“//button[@data id=1]”}

test.py

zone = Zone.objects.last()
self.browser.refresh()
time.sleep(2)
self.browser.find_element_by_xpath("//button[@data-id="+str(zone.id)+"]").click() # zone.id = 1
我也尝试过使用self.browser.find_element_by_id('update_id_'+str(zone.id))但不起作用:( 怎么了? html


从错误消息和按钮的代码中,我可以看到
zone.id
值出错。
zone.id
的值由2变为1

你可以试着用

self.browser.find_element_by_css_selector('.btn.btn-xs.btn-primary.updateButton').click()


如果您可以提供更多的HTML代码,我可以使用
find_element_by_xpath

为您提供上述的实现。您的HTML按钮的id为2,但您的xpath的id为1(也不是)。您使用区域id有什么具体原因吗?您可以简单地使用id来定位您的元素
self.browser.find_element_by_css_selector('.btn.btn-xs.btn-primary.updateButton').click()
self.browser.find_element_by_id('updateButton update_id_2').click()