python selenium中的相同按钮ID

时间:2016-10-20 13:38:48

标签: python selenium selenium-webdriver webdriver

我在使用相同ID的Python Selenium上单击按钮时遇到了问题 我可以在一个名为“上传”和“生成基本表单”的页面中有两个按钮,但两个按钮的ID相同。 我将选择名为“Generate Base Form”的按钮。 Button的id也一样。 我会附上督察的形象 Image of Id for button

2 个答案:

答案 0 :(得分:0)

使用xpath

//input[@id='eRetVO.fileExtend']/../input[2]

答案 1 :(得分:0)

虽然通过Id,Name或CssClass查找元素是一种很好的做法,但在某些情况下,您最终会依赖于更具体的属性,以便您可以专门定位元素。最常见的解决方案是使用XPath。

在你的情况下,像

driver.find_element_by_xpath("//button[@id='uploadButton' and @value='Upload']").click()

应该有效。请注意,如果其他按钮也具有相同的属性,则您需要了解您尝试查找的元素的唯一性,并将其与的XPath。

或者,您也可以

driver.find_element_by_xpath("(//button[@id='uploadButton'])[buttonNumber]").click()

其中 buttonNumber 是一个从1到n的索引,相应于具有相同ID的按钮数。

This文章可以帮助您找到元素。