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()