是否可以使用webbrowser或Selenium来获取浏览器中的当前URL

时间:2015-07-10 16:43:18

标签: python python-2.7 selenium python-webbrowser

或许" hack" webbrowserSelenium的实际库代码可以执行此操作吗?我查看当前的文档并没有看到这是可能的,但也许您可以调整实际的库代码并插入此功能?

不幸的是,以下使用Selenium的方法不起作用 - 它只返回原始网址:

import selenium
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://api.instagram.com/oauth/authorize/?client_id=cb0096f08a387355f&redirect_uri=http://pythondev.instadev.com/instagramredirect.html&response_type=code")
print driver.current_url

2 个答案:

答案 0 :(得分:3)

不,但是如果您正在寻找一个可以让您更好地控制浏览器的模块,请查看selenium webdriver。

在selenium中,函数为driver.current_url

如bob0the0mighty的链接所示,您需要有一个等待URL更改的循环。尝试类似的东西: initialurl="https://api.instagram.com/oauth/authorize/client_id=cb0096f08a387355f&redirect_uri=http://pythondev.instadev.com/instagramredirect.html&response_type=code"

currenturl="https://api.instagram.com/oauth/authorize/?client_id=cb0096f08a387355f&redirect_uri=http://pythondev.instadev.com/instagramredirect.html&response_type=code"

while(true): if(currenturl != initialurl): print currenturl break

答案 1 :(得分:2)

python webbrowser模块根据平台甚至该平台上的环境变量启动不同的外部进程。所以我一般都说“不”。