为什么我的基于Python的Selenium PhantomJS webcrawler不能上网?

时间:2013-08-06 15:01:51

标签: python proxy selenium-webdriver web-crawler phantomjs

我正试图让这个简单的代码到达互联网。我在代理服务器后面,但我已经设置了我的http_proxy,https_proxy和no_proxy环境变量。

Python代码:

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('http://www.google.com')
driver.page_source

输出:

u'<html><head><title> Web Authentication Redirect</title><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="-1"><meta http-equiv="refresh" content="1; URL=https://1.1.1.1/login.html?redirect=www.google.com/"></head><body>\n</body></html>'

关于如何解决这个问题的任何想法?

另外,我使用的是Ubuntu 12.04 LTS。

2 个答案:

答案 0 :(得分:0)

如果它是您登陆页面的页面,然后它重定向您(也就是等待问题),那么您可以尝试wait.until(ExpectedConditions.titleIs("Google"))

注意:这是Java代码,但转换起来不应太难。 waitWebDriverWait

的一个实例

答案 1 :(得分:0)

看起来网络上的内容会加载自身,然后立即将您重定向到您想去的地方。我认为你只需要在获取页面源之前遵循重定向。

请参阅Getting the final destination of a JavaScript redirect on a website等待,直到selemium跟随重定向。