【问题标题】:How to get P tags found in div tags with selenium webdriver如何使用 selenium webdriver 获取 div 标签中的 P 标签
【发布时间】:2017-05-09 18:18:30
【问题描述】:

我想获取在 div 标签内找到的所有 P 标签我只想获取大小,所以我尝试了这行代码

driver.findElements(By.xpath(".//*[@id='googleresults']/div/table[3]/tbody/tr/td/div")).size()

我从 fireBug 得到了这个 xpath,但是这个行代码给了我 0

<document>
<html>
<head>
<body>
<div id="googleresults">
<div class="tab-container">
<!-- Please enter html code below. -->
<table cellspacing="0" cellpadding="0" border="0"/>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<table width="100%" cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff">
<!--tro2-->
<div>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
<p class="g">
<br/>
</div>
<center>
<span class="p">
</div>
</div>
</body>
</html>
</document>

【问题讨论】:

  • 您的 xpath 需要在末尾包含 p 标签。现在它正在寻找 div 标签。你可以在帖子中包含html吗?
  • 我尝试将 /p[1] 放在 xpath 的末尾,但也没有用。

标签: java html selenium


【解决方案1】:

使用以下 XPath-

//div//p[@class='g'] 获取所有&lt;p&gt; 标签

这段代码将提供&lt;p&gt;标签的存在方式

    List<WebElement> element=driver.findElements(By.xpath("//div//p[@class='g']"));
    System.out.println(element.size());

【讨论】:

  • 这个 div 包含在另外两个 div 中,这会导致问题吗?
  • 我希望它可以工作,最终我得到了预期的结果。你能显示你的代码 sn-p 吗?
  • 原来这个 div 是在 iframe 中找到的,所以我需要先将焦点设置在 iframe 上,然后再使用这条线。它现在正在工作。
  • 感谢您的帮助
  • 很高兴听到 :) 编码愉快
【解决方案2】:

获取任何标签值的最佳方法是按标签名称查找,在您的情况下应该是这样的:

List<WebElement> element=driver.findElements(By.tagName("p")); 
System.out.println(element.size());

【讨论】:

  • 如果你喜欢这个答案,请给我评分。谢谢!!
【解决方案3】:

原来这个 div 是在 iframe 中找到的,所以我需要先将焦点设置在 iframe 上,然后再使用这条线。它现在正在工作。

专注于 iframe 的代码如下: driver.switchTo().frame(driver.findElement(By.id("iframeID")));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2019-12-29
    • 2021-06-09
    相关资源
    最近更新 更多