如何使用xpath访问div ID?[selenium webdriver]

时间:2015-02-17 12:26:00

标签: java selenium xpath

<div class="col-lg-3 col-sm-4 col-xs-6">
<div class="logo">..................</div> </div>

logo是内部div。

我需要使用xpath访问col-lg-3 col ... div内容。

我在java中这样做了: WebElement mydiv = driver.findElement(By.className(&#34; col-lg-3&#34;)); 但它不起作用 - 因为名称中有空格。

如何使用xpath访问它?

2 个答案:

答案 0 :(得分:1)

在CSS中,您可以像这样访问它:

driver.findElement(By.cssSelector(".col-lg-3 .logo"));

因为您在XPath中询问过它可能是:

driver.findElement(By.xpath("//div[contains(@class, 'col-lg-3')]/div[contains(@class, 'logo')]")

正如您所看到的,CSS选择器要简单得多。

答案 1 :(得分:0)

要查看xpath,我建议安装Firebug和FirePath;这些扩展是Firefox。

实施例: 你能看到这张照片吗? xpath

想象一下,您没有 id 名称定位器,或者您需要使用 xpath

  1. 打开Firefox。
  2. 点击&#34; Firebug&#34;。 (#1)
  3. 有一个小组。
  4. 点击&#34;点击页面中的元素进行检查&#34; icon(#2)
  5. 点击&#34; FirePath&#34;标签。 (#3)
  6. 选择您想要的元素(#4)
  7. 它将xpath显示在文本框中。 (#5)
  8. 所以,你需要添加这一行:

    driver.findElement(By.xpath("html/body/form/fieldset/p[1]/input"));