2017-01-09 5 views
1

とセレンを使用することにより、相対リンクを抽出します。 PhantomJSは完全に解決した後に絶対URLを返します。は、私はHTMLページをロードし、それから、すべてのHREFリンクを抽出するために<strong>ファントムJS</strong>ドライバで<strong>Selemium</strong>を使用していファントムJSドライバ

私の要件は、そのまま相対リンクを抽出することです。

私は、DOMを歩いて外部参照をフェッチしています。しかし、それは私に解決URLを与える。私はそれがそのまま相対URLを取得したい。私の要件は以下のように相対的なリンクを取得docs.oracle.com/index.htm : - :例えば

List<WebElement> list = driver.findElements(By.tagName("a")); 
for (WebElement element:list) { 
    String link = element.getAttribute("href");` 
} 

HTTP

<a href="../index.html" ></a> with base url - http:docs.oracle.com/en/test.htm 

ファントムJSは私に解決されたリンクを提供します。 相対リンク:「../index.htm」

はこれを達成するためのセレン+ファントムJSのいずれかの方法はありますか?

ありがとうございます。 Neha

答えて

0

Seleniumは、相対リンクをそのまま検索する直接的なオプションは提供していません。 私は、相対リンクを取得するための回避策を見つけました。 我々は

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

を使用してouterHTML取得し、それからのhrefを解析ANS抽出するためにはDOMParserを使用することができます。

関連する問題