我正在使用 Selemium 和 Phantom JS 驱动程序来加载HTML页面并从中提取所有HREF链接。 PhantomJS在完全解析后给了我绝对的URL。
我的要求是按原样提取相关链接。
我通过走DOM来获取hrefs。但它给了我解决的URL。我想得到相对网址。
List<WebElement> list = driver.findElements(By.tagName("a"));
for (WebElement element:list) {
String link = element.getAttribute("href");`
}
例如:
<a href="../index.html" ></a> with base url - http:docs.oracle.com/en/test.htm
Phantom JS给了我解决的链接 - http:docs.oracle.com/index.htm 我的要求得到如下的相对链接。 相对链接:“../ index.htm”
Selenium + Phantom JS有没有办法实现这个目标?
提前致谢。 NEHA
答案 0 :(得分:0)
在做了一些研究后,我发现Selenium没有提供任何直接选项来检索相关链接。 我找到了一个解决方法来获取相关链接。 我们可以使用
获取outerHTML String outerHTML = element.getAttribute("outerHTML");
然后使用DOMParser解析ans从中提取href。