我正在使用以下代码单击页面上的按钮,但XPath不断变化,因此代码不断破坏:
mydriver.find_element_by_xpath("html/body/div[2]/div[3]/div[1]/div/div[2]/div[2]/div[4]/div/form[2]/span/span/input").click()
我应该采取更好的方式吗?这是我试图点击的按钮的代码:
<input class="a-button-input" type="submit" title="Button 2" name="submit.button2-click.x" value="Button 2 Click"/>
答案 0 :(得分:1)
我使用findelement(by.name(“submit.button2-click.x”))。click()或使用find元素(by.cssSelector(“selector”))。click()
答案 1 :(得分:1)
XPath非常聪明。你可以做一个更简单的搜索:
mydriver.find_element_by_xpath("//input[@name='submit.button2-click.x']")
告诉:搜索input
等于name
的所有'submit.button2-click.x'
元素,这些元素将是您选择的元素。
在转到代码之前,请不要忘记尝试使用Firefix XPath Checker插件。