Selenium - 在脚本中提取onclick事件目标URL

时间:2017-12-28 08:56:36

标签: python selenium selenium-webdriver web-scraping onclick

假设我有一个包含以下元素的HTML页面:

<script>
    function change_url(){
        window.location.href='http://www.google.com/';
    }
</script>

<button type="button" onclick="change_url()">
     Go to Google
</button>

有没有办法在不让浏览器访问网址的情况下获取按钮的目标网址?

谢谢。

1 个答案:

答案 0 :(得分:3)

根据您的问题标题, Selenium get the target URL of the button without having the browser visit the URL是不可能的,因为 Selenium 嘲笑用户互动发起Browser Instance

启动浏览器后,要获取 http://www.google.com/ 的目标网址,您可以提取网页来源并使用 split() 功能根据以下代码块:

driver.get('https://www.your_url.co.in')
page_source = driver.page_source
text_part = page_source.split("window.location.href='")
my_url = text_part[1].split("';")
print(my_url[0])