ChromeDriver无法打开网站

时间:2014-12-21 22:52:38

标签: python google-chrome selenium selenium-webdriver selenium-chromedriver

通过selenium webdriver测试Chrome时,我遇到了一种非常奇怪的行为。

而不是像人们期望的那样导航到页面。命令仅导致从目标站点下载小文件(无类型或.apsx文件)。 重要的是 - 当我将chrome_options作为参数传递时,才会出现此行为 到Chrome驱动程序。

相同的测试脚本与firefox驱动程序完美配合。

代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options # tried with and without 

proxy = '127.0.0.1:9951'  # connects to a proxy application 
chrome_options = webdriver.ChromeOptions()    
chrome_options.add_argument('--proxy-server=%s' % proxy)
driver = webdriver.Chrome(chrome_options=chrome_options)

driver.get('whatismyip.com')

导致自动下载名为download(无文件扩展名,Size 2 Byte)的文件。 调用其他站点导致下载小的aspx文件。 当浏览器页面保持空白且没有与之交互时,这一切都会发生 元素发生=网站根本没有加载。

除了element not found之外,没有错误消息。

这真的很奇怪。

其他信息: 我运行Debian Wheezy 32位并使用Python 2.7。

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

我尝试了您的代码,并通过SSH使用SOCKS v5代理捕获了localhost上的流量。它肯定是通过代理发送数据,但没有数据回来。我已经确认代理正在使用Firefox。

我在Ubuntu 14.04 LTS 64位上运行Google Chrome。当我尝试在其设置菜单中配置代理时,我的Chrome浏览器会向我显示以下消息:

  

在支持的桌面环境下运行Google Chrome时,   将使用系统代理设置。但是,要么你的系统不是   支持或启动系统配置时出现问题。

     

但您仍然可以通过命令行进行配置。请看男人   有关标志和环境的更多信息,请参阅google-chrome-stable   变量

不幸的是,我没有google-chrome-stable的手册页。

我还发现,根据硒文档,Chrome正在使用系统范围的代理设置,根据他们的文档,我们不知道如何以编程方式在Chrome中设置代理:http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#using-a-proxy