我正在尝试使用selenium webdriver来点击其他类中的按钮。网页如下:
<div class="fade tab-pane" id="mm9-tab-content" role="tabpanel">
<div class="button-submit">
<button class="btn btn-primary btn-lg btn-block post" id="download" type="button">Download</button>
</div>
</div>
<div class="fade tab-pane" id="dm3-tab-content" role="tabpanel">
<div class="button-submit">
<button class="btn btn-primary btn-lg btn-block post" id="download" type="button">Download</button>
</div>
</div>
&#13;
数据分为2个类mm9-tab-content
和dm3-tab-content
。我希望系统点击dm3-tab-content
中的下载按钮。
我尝试使用
driver.find_element_by_xpath('xpath = (//*@id="download")[1]').click()
获取download
的第二个实例,但它似乎无法正常工作。有什么想法吗?
答案 0 :(得分:0)
如果你知道按钮出现的顺序以及你想要使用的按钮,你可以使用find_elements_by_css_selector
找到id =“download”的所有元素:
buttons = driver.find_elements_by_css_selector('#download')
然后,您可以按顺序访问每个按钮。
答案 1 :(得分:0)
点击mm9-tab-content class使用
下的按钮if where1 in ["shops", "Shops", "shop", "Shop"]:
# Blah Blah
点击dm3-tab-content class使用
下的按钮driver.find_element_by_css_selector('#mm9-tab-content #download').click()
答案 2 :(得分:0)
您的XPath似乎无效。请尝试以下
driver.find_element_by_xpath('(//*[@id="download"])[2]').click()
请注意,与Python不同,在XPath节点中,索引从1
开始,因此第二个元素应该具有索引[2]