无法使用Selenium获取任何html标记中不存在的文本

时间:2018-09-26 09:12:44

标签: java selenium

<li>
  <div class="dropdown dropdown--active ">
    <a class="dropdown__trigger dropdown-toggle switch-modes-toggle">
      <span class="ModeIndicator ModeIndicator--test"></span> 
      Test Mode 
      <span class="caret"></span>
    </a>
</li>

我想使用硒来获取显示“测试模式”的文本。谁能帮我这个。我刚接触硒。

3 个答案:

答案 0 :(得分:2)

您可以使用contains(text())

driver.find_elements_by_xpath("//*[contains(text(), 'Test Mode')]")

答案 1 :(得分:0)

文本在<a>标记中

driver.findElement(By.xpath("//span[@class='ModeIndicator']/..")).getText();

答案 2 :(得分:0)

我建议您为此使用CSS选择器。

CSS选择器:

dropdown__trigger.dropdown-toggle.switch-modes-toggle  

在代码中:

driver.findElement(By.cssSelector("dropdown__trigger.dropdown-toggle.switch-modes-toggle")).getText();  

但是,在代码中引入 WebdriverWait 可以提高可靠性。