2

或者也许“破解” webbrowserSelenium的实际库代码来执行此操作?我正在查看当前文档并没有看到这是可能的,但也许您可以调整实际的库代码并插入此功能?

不幸的是,下面的 Selenium 方法不起作用——它只返回原始 URL:

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
4

2 回答 2

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

于 2015-07-10T16:52:02.280 回答
2

python webbrowser 模块启动一个外部进程,该进程因平台甚至该平台上的环境变量而异。所以我一般会说“不”。

于 2015-07-10T16:45:58.013 回答