我正在寻找一种方法来提取html或文本内容的一个,所以我可以使用它的方法,以验证在网页上显示的文字之间的链接。我正在使用selenium和java。
<div>
"This link"
<a href="http://www.google.com">http://www.google.com</a>
"exists."
</div>我一直在研究如何从一条消息中提取链接的html,并且我所遇到的大部分内容允许您提取'href‘属性的文本或链接文本。这可能是不可能的。最好,我想从div中提取所有的内容。
我在下面尝试过类似的东西,但它返回'http://www.google.com‘。
WebElement e = driver.findElements(By.tagName("a"));
String content = e.getAttribute("innerHTML"); 我还尝试使用xpath,使用contains()和text()。两者都返回链接的文本,但不返回任何其他内容。
知道我能尝试什么吗?
发布于 2015-09-24 22:02:42
试着使用以下方法:
WebElement e = driver.findElements(By.xPath("//a/.."));它将选择每个div的父元素,在本例中是a。如果要添加要筛选的谓词(即条件),可以这样做:
WebElement e = driver.findElements(By.xPath("//a[contains(@href, 'http:')]/.."));我选择//作为开始,它搜索整个文档。如果只想搜索某个部分,请将其更改为只选择该部分的XPath表达式。
https://sqa.stackexchange.com/questions/14872
复制相似问题