如何使用selenium webdriver在div标签中找到P标签

时间:2016-12-24 08:32:57

标签: java html selenium

我想获得在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>

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

使用以下XPath -

//div//p[@class='g']获取所有<p>代码

此代码将提供<p>代码的标记

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

答案 2 :(得分:-1)

原来这个div在iframe中找到了所以我需要首先将焦点设置在iframe上然后使用这一行。它现在正在运作。

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