[英]How to navigate to a sibling <p> element using selenium
我试图使用没有id / class属性的Selenium导航到兄弟<p>
元素。 这是我的HTML:
<div class="content1">
<div class="bold">
<a href="test">test</a>
</div>
<p>
<span class="test two">Nuevo</span>
</p>
<div class="bold2">
<a href="test">test</a>
</div>
<p>
i want to get this text
</p>
</div>
这是我的硒代码:
element = driver.findElement(By.xpath("content1/p[2]"));
任何人都可以帮我纠正我的硒代码吗?
您的XPath首先无效。 你是说.//div[@class='content1']/p[2]
?
请试试
element = driver.findElement(By.xpath(".//div[@class='content1']/p[2]"));
这是另一个XPath,您也可以尝试,不需要索引。
element = driver.findElement(By.xpath(".//div[@class='content1']/div[@class='bold2']/following-sibling::p"));
请注意,如果HTML不是您正在测试的真实HTML,您可能会面临其他问题,上述XPath仅提供逻辑。
选项#1 (假设这些是DOM中的第一个 <p>
元素):
element = driver.findElements(By.tagName("p")).get(1);
选项#2 :
element = driver.findElement(By.xpath("//div[@class='content1']/p[2]"));
我已回答了类似的问题,可以帮助您:
如果你对CSS感兴趣,我会检查一下。 如果您想知道如何将CSS与selenium一起使用,请查看此博客文章: http : //ddavison.github.io/css/2014/02/18/effective-css-selectors.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.