2017-01-09 3 views
1

Я использую Selemium с драйвер Phantom JS для загрузки HTML-страницы и извлечь все HREF ссылки из него. PhantomJS дает мне абсолютные URL-адреса после их полного разрешения.Extract Относительная ссылка с помощью Selenium с фантомным водителем JS

Мое требование - извлекать относительные ссылки, как есть.

Я получаю hrefs, прогуливаясь по DOM. Но он дает мне разрешенный URL. Я хочу получить относительный 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

После выполнения некоторых исследований я обнаружил, что Selenium не предоставляет прямой выбор для получения относительных ссылок, как есть. Я нашел обходное решение, чтобы получить относительную ссылку. Мы можем получить outerHTML с помощью

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

, а затем использовать DomParser для анализа ANS извлечения HREF из него.

 Смежные вопросы

  • Нет связанных вопросов^_^