Selenium + Python,关于find_element_by_xpath h3

时间:2014-09-16 00:15:03

标签: python-2.7 selenium

是否有任何方法通过字符串“Test Engine 0728”识别按钮“Connect”,然后使用方法find_element_by_xpath或python + selenium环境中的任何其他方法单击它。非常感谢!

<html
 <head
 <body
  <div class="page" id="main-page"
   <div class="controls" id="Engines"
     <div class="devices" id="Devices-List"
         <h3 class="device-name">Test Engine 0728 </h3>
     </div>
     <button>Connect</button>
...

3 个答案:

答案 0 :(得分:0)

此xpath应该适合您:

driver.find_element_by_xpath("//h3[contains(text(),'Test Engine 0728')]/../../button[contains(text(),'Connect')]").click()

答案 1 :(得分:0)

找到按钮肯定有多种方式。

一个选项是使用标识为div的{​​{1}}启动xpath表达式,检查它是否包含Engines标记,h3标记Test Engine 0728带有div个ID。然后,通过Devices-List文字获取button

Connect

或者,另一个选项是找到button = driver.find_element_by_xpath('//div[@id="Engines" and div[@id="Devices-List"]/h3[contains(., "Test Engine 0728")]]/button[. = "Connect"]') button.click() div个ID,检查里面的Devices-List代码的文字并获取以下按钮:

h3

答案 2 :(得分:0)

这个也应该有效:

connectButtonClick = driver.find_element_by_xpath("//div[@class='controls'][@id='Engines'][contains(., 'Test Engine 0728')]//button[text()='Connect']").click()