2017-01-20 43 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