隐藏XPATH来查找文本元素?红宝石硒

时间:2013-09-10 07:44:29

标签: ruby xpath selenium selenium-webdriver

我正在尝试找到下面元素的xpath,以便稍后我可以使用Ruby Selenium-webdriver(即helloPage.mainHeader.get_text)来获取文本。

<div class="container">
  <div class="template-section">
    <div class="front">
      <h3 class="containerHeading">
      <i class="icon_image"></i>
      "Hello world   <-----------------------3 whitespaces
      "
      </h3>
    </div>
   </div>
</div>

我已经研究过xpaths,但每次我重新运行测试时,它基本上都不存在元素。它在UI上清晰可见,而不是隐藏。

为什么我的xpath错了?我尝试过以下方法:

  1. //div[@class='container']//div[@class='template-section']//div[@class='front']//h3[@class='containerHeading']
  2. //div[@class='front']//h3[@class='containerHeading']
  3. //h3[@class='containerHeading']
  4. 我确实在执行helloPage.mainHeader.get_text之前放置了睡眠,其中mainHeader具有XPath表达式,但这不起作用。关于Hello World文本有什么神秘之处吗?格式确实就像我打字一样。

1 个答案:

答案 0 :(得分:0)

你的所有xpath对我来说都是正确的......我想当你试图用你的xpath找到元素时...元素没有正确加载...尝试使用显式等待。请尝试使用下面提供的代码:


    wait = Selenium::WebDriver::Wait.new(:timeout => 10)
    wait.until { driver.find_elements(:xpath, "Any of your above mentioned xpaths") }