我正在尝试使用Selenium与Python。
因此,我编写了以下代码,并将文件名为test.py保存到工作目录/Users/ykt68/seleniumwork。
[ykt68@macbp15 seleniumwork]$ pwd
/Users/ykt68/seleniumwork
[ykt68@macbp15 seleniumwork]$ cat -n test.py
1 #! /usr/bin/env python
2 # -*- encoding: utf-8 -*-
3
4 from selenium import webdriver
5 from selenium.webdriver.common.keys import Keys
6
7 driver = webdriver.Firefox()
8 driver.get("http://www.python.org")
9 assert "Python" in driver.title
10 elem = driver.find_element_by_name("q")
11 elem.clear()
12 elem.send_keys("pycon")
13 elem.send_keys(Keys.RETURN)
14 assert "No results found." not in driver.page_source
15 driver.close()
[ykt68@macbp15 seleniumwork]$
以上代码与2.1 Selenium with Python文档中的简单用法相同。
当我运行上面test.py的python命令时,- FireFox浏览器启动并打开空白选项卡。
- 大约30秒后,显示以下错误信息,并关闭FireFox窗口:
[ykt68@macbp15 seleniumwork]$ python test.py
Traceback (most recent call last):
File "test.py", line 7, in <module>
driver = webdriver.Firefox()
File "/Users/ykt68/.pyenv/versions/seleniumwork/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 80, in __init__
self.binary, timeout)
File "/Users/ykt68/.pyenv/versions/seleniumwork/lib/python3.5/site-packages/selenium/webdriver/firefox/extension_connection.py", line 52, in __init__
self.binary.launch_browser(self.profile, timeout=timeout)
File "/Users/ykt68/.pyenv/versions/seleniumwork/lib/python3.5/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser
self._wait_until_connectable(timeout=timeout)
File "/Users/ykt68/.pyenv/versions/seleniumwork/lib/python3.5/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/86/55p1gj4j4xz2nw9g5q224bk40000gn/T/tmpf0uolidn If you specified a log_file in the FirefoxBinary constructor, check it for details.
[ykt68@macbp15 seleniumwork]$
请告诉我为什么会出现这个错误,以及如何解决这个问题,或者列出一些我应该参考的帖子或文档。
此外,- 环境:
- 操作系统:Apple OS X Version 10.11.6
Python版本:3.5.2 - FireFox版本:48.0.2
- selenium版本:2.53.6
[ykt68@macbp15 seleniumwork]$ python -V
Python 3.5.2
[ykt68@macbp15 seleniumwork]$ /Applications/Firefox.app/Contents/MacOS/firefox -v
Mozilla Firefox 48.0.2
[ykt68@macbp15 seleniumwork]$ /Applications/Firefox.app/Contents/MacOS/firefox-bin -v
Mozilla Firefox 48.0.2
[ykt68@macbp15 seleniumwork]$ pip list
pip (8.1.2)
selenium (2.53.6)
setuptools (20.10.1)
[ykt68@macbp15 seleniumwork]$
- 我参考了类似的帖子Selenium: FirefoxProfile异常无法加载配置文件。所以我尝试了
pip install -U selenium
但上述错误信息的情况保持不变。
问好。
根据我的理解和结论,您可以保留最新的selenium
包版本,但您必须将Firefox降级到47(47.0.1是47分支的最新稳定版本)。