2017-05-24 68 views
0

我在Mac上使用python 3和selenium 2.53.6,它确实打开firefox,但不是我指定的页面。我尝试打开“inventwithpython.com”,但我所有的程序都是启动firefox并返回此错误。为什么硒在我的Mac上无法正常工作?

下面是我的代码:

from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get('http://inventwithpython.com') 

我也越来越以下错误:

File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 108, in _wait_until_connectable % (self.profile.path)) selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: /var/folders/4c/gsw7v5b118j406zxj3lxctt40000gn/T/tmpv963_mt0 If you specified a log_file in the FirefoxBinary constructor, check it for details.

+0

你没有使用最新版本的:firefox,selenium,geckodriver。升级这些,你的代码将按原样工作。 –

回答

0

你可以试试这个?让我知道发生了什么?

#!/your/shebang/line/python3 

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

binary = FirefoxBinary('/your/path/to/actual/firefox/binary') 
driver = webdriver.Firefox(firefox_binary=binary) 
driver.get('http://inventwithpython.com') 

确保二进制文件的路径是您正常触摸Firefox时启动的实际路径。

编辑:

哦,我忘了之前,你一定要做这一点。只是要确定。

pip install -U selenium 

因为如果我没记错的话,有一些修改了配置文件。所以让我们确保这不是问题。

+0

这根本不回答OP的问题。 OP声明它正在启动Firefox ...所以它显然是在找到二进制位置就好了。 –

+0

虽然你可能是对的,但这里的想法是测试他的环境是否与我所想的一样。因为他可以启动firefox,但如果配置文件不能被加载,那可能是错误的。硒试图从系统中获得正确的二进制文件。但并不总是对的。指定在他日常生活中使用的二进制可能只是帮助事情顺利进行。如果它没有,那么它消除了许多其他问题并缩小了可能性。 – Nalaurien

+0

StackOverflow不是交互式调试器。澄清问题和建议在评论中可以接受......但答案应该是实际答案,而不是模糊的调试技巧。 –

相关问题