Selenium使用Python-Firefox总是加载空白页面

时间:2016-10-07 15:18:45

标签: python selenium

我首先遇到了使用Python设置和运行Selenium的问题。 我的系统 - Windows 8.1,Python 3.4.4

当我尝试在控制台内调用带有python代码的浏览器,或者甚至用这个特定代码运行py doc时,我得到的只是浏览器中的空白页面。 一段时间后,我在控制台出错了。

    `C:\Python34\selenium\Tests>new1.py
     Traceback (most recent call last):
  File "C:\Python34\selenium\Tests\new1.py", line 2, in <module>
    browser=webdriver.Firefox()
  File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\webdriver.py",
line 80, in __init__
    self.binary, timeout)
  File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\extension_conne
ction.py", line 52, in __init__
    self.binary.launch_browser(self.profile, timeout=timeout)
  File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\firefox_binary.
py", line 68, in launch_browser
    self._wait_until_connectable(timeout=timeout)
  File "C:\Python34\lib\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: C:\Users\Admin\AppData\Local\Temp\tmpxr3qxv83 If you specified a lo
g_file in the FirefoxBinary constructor, check it for details.
`

如果你可以帮助我真的很棒。

P.S。 Pip版本是最新的8.1.2 Firefox版本49.0.1

以下是我设置环境的代码

C:\Python34\Scripts>pip.exe install selenium
Requirement already satisfied (use --upgrade to upgrade): selenium in c:\python3
4\lib\site-packages

之前已经安装

小更新,伙计们

我已经为硒测试创建了Firefox配置文件。但我再次遇到同样的问题。

>>> from selenium import webdriver
>>> from selenium.webdriver.common.keys import Keys
>>> fp = webdriver.FirefoxProfile('C:/Users/Admin/AppData/Roaming/Mozilla/Firefo
x/Profiles/2byxc9l6.selenium')
>>> browser = webdriver.Firefox(fp)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\webdriver.py",
line 80, in __init__
    self.binary, timeout)
  File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\extension_conne
ction.py", line 52, in __init__
    self.binary.launch_browser(self.profile, timeout=timeout)
  File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\firefox_binary.
py", line 68, in launch_browser
    self._wait_until_connectable(timeout=timeout)
  File "C:\Python34\lib\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: C:\Users\Admin\AppData\Local\Temp\tmpe1dfmxt_\webdriver-py-profilec
opy If you specified a log_file in the FirefoxBinary constructor, check it for d
etails.

>>>

如果selenium在另一个目录中搜索PATH,我做错了什么?

P.S。 Selenium版本是2.53.6。 Firefox是49.0.1

1 个答案:

答案 0 :(得分:0)

加载Firefox配置文件时出现此问题。为避免这种情况,您应该使用自定义配置文件进行测试。

创建自定义配置文件:关闭Firefox的所有实例,然后使用firefox -P从命令行启动它。按照步骤创建具有一些有意义名称的配置文件(例如&#39; selenium&#39;)并确保您保存配置文件的目录。细节解释为here

替换new1.py中的代码以使用自定义配置文件创建firefox驱动程序实例,例如如果您的个人资料位于文件夹&#34; C:\ Users \ Admin \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ cmx3h2wi.selenium&#34 ;,请用此行替换browser=webdriver.Firefox()行(请注意正斜杠甚至在Windows上,如here

所述
fp = webdriver.FirefoxProfile('C:/Users/Admin/AppData/Roaming/Mozilla/Firefox/Profiles/cmx3h2wi.selenium')
browser = webdriver.Firefox(fp)

这样,FirefoxDriver应该专门为你的硒测试加载一个配置文件。