2017-01-20 82 views
0

當我撥打get_attribute('innerHTML')並以字符串取回標記時,是否可以將相對URL轉換爲絕對URL?Selenium/Python:如何使用相對URL向所有錨標記插入絕對url?

會發生這種情況與當我打電話element.get_attribute('href')

的最後文本將被其他系統使用,我將不能夠添加一個標籤相對HREF內容的標籤。

如果get_attribute('innerHTML')沒有添加基本URL的選項,我如何將所有相對URL轉換爲絕對URL?

回答

0

您可以用JavaScript輕鬆完成。看到這裏實際的解決方案:Getting an absolute URL from a relative one. (IE6 issue)

而且這個Java代碼片段如何申請,使用的webdriver:

String relative = ...; // get the relative URL from somewhere... 
String absolute = (String) ((JavascriptExecutor) driver).executeScript("return (function(relative) { var a = document.createElement('a'); a.href = relative; return a.href; })(arguments[0])", relative); 

順便說一句,這裏的一些有關使用webdriver的執行JavaScript(和傳遞參數)的詳細信息:How to use JavaScript with Selenium WebDriver Java