使用Selenium和幻像JS驱动程序提取相对链接

时间:2017-01-09 13:23:46

标签: javascript selenium-webdriver phantomjs

我正在使用 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

1 个答案:

答案 0 :(得分:0)

在做了一些研究后,我发现Selenium没有提供任何直接选项来检索相关链接。 我找到了一个解决方法来获取相关链接。 我们可以使用

获取outerHTML

String outerHTML = element.getAttribute("outerHTML");

然后使用DOMParser解析ans从中提取href。