或许" hack" webbrowser或Selenium的实际库代码可以执行此操作吗?我查看当前的文档并没有看到这是可能的,但也许您可以调整实际的库代码并插入此功能?
不幸的是,以下使用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
答案 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模块根据平台甚至该平台上的环境变量启动不同的外部进程。所以我一般都说“不”。