当前位置: 首页 > 面试题库 >

如何正确设置Windows7以将Selenium与Firefox结合使用[带Python的TDD]?

邵诚
2023-03-14
问题内容

我正在安装我的系统(Windows 7 Pro 64位,通过Anaconda使用Python 3.5),以通过selenium使用Firefox,以遵循《
用Python测试驱动开发 》一书 WebDriverException: 'geckodriver.exe' executable needs to be in PATH.即使我将系统路径设置为指向geckodriver的文件夹(并重新启动了3次),Python仍然会引发错误。

如果我将python / selenium指向geckodriver.exe的确切位置,则会出现以下错误

OSError: [WinError 216] This version of %1 is not compatible with the
version of Windows you're running. Check your computer's system information
to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program,
and then contact the software publisher

在这一点上,我不确定错误版本%1是否与firefox是错误版本(我尝试过64位和32位),壁虎驱动程序,selenium或其他完全错误有关。


问题答案:
  1. Selenium用来引用一个称为wires.exegithub-geckodriver issue 90)的驱动程序。截至Selenium3该驱动程序已被替换为geckodriver.exe。通过运行安装/升级到最新的硒pip install "selenium>=3.0.0"
  2. 下载适合您的平台的最新geckodriver:撰写本文时,该版本geckodriver-v0.11.1-win64.zip适用于64位或geckodriver-v0.11.1-win32.zip32位。在您的情况下,该version %1错误与错误的geckodriver版本有关。解压缩到C:\Users\YourUserName\Downloads\selenium_driver
  3. 安装Firefox扩展支持版本,将自定义安装路径设置为C:\Program Files\Mozilla FirefoxESR64位还是C:\Program Files (x86)\Mozilla FirefoxESR32位。

如果将Windows
PATH设置
C:\Users\YourUserName\Downloads\selenium_driver似乎无效(以便selenium可以找到geckdriver.exe),则可以在Python脚本中指定其目录,如下所示:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
gecko = r'C:\Users\YourUserName\Downloads\selenium_driver\geckodriver.exe'
ffox_binary = FirefoxBinary(r'C:\Program Files\Mozilla FirefoxESR\firefox.exe') #for 64 bit installation
#ffox_binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla FirefoxESR\firefox.exe') #for 32 bit installation
browser = webdriver.Firefox(firefox_binary=ffox_binary, executable_path=gecko)  
browser.get('http://localhost:8000')


 类似资料:
  • 问题内容: 我的目标是通过Python将Adblock Plus与Selenium结合使用。我已经能够将其加载到扩展程序中,但是默认情况下,它不包含默认过滤器“ EasyList”。这是我到目前为止的内容: 大部分代码都是从http://selenium- python.readthedocs.org/en/latest/faq.html 剥离的 问题答案: 实际上,默认情况下,Adblock P

  • 问题内容: 我正在使用selenium,并想为3个不同的脚本使用单独的firefox配置文件。这可能吗? 问题答案: 不确定如何执行脚本,但是在实例化对象时,可以指定a 作为参数。这是通过创建一个对象(下面的示例)并提供目标配置文件的路径作为参数来完成的: 据我所知,您无法在实例化实例后修改配置文件(尽管我可能是错的- 如果您需要这样做,值得尝试:))。在这种情况下,您将在每个脚本中创建一个配置文

  • 问题内容: 这段代码在main方法内部。当我运行此代码时,将启动firefox,但不会遵循google url,并且代理未设置为我在上面的代码中指定的代理。我怎样才能解决这个问题? 问题答案: 由于存在错误,您目前无法使用Proxy对象。您应该使用以下代码 该错误已在https://github.com/mozilla/geckodriver/issues/764上讨论,您将在下面的链接中看到Ma

  • 我尝试了这个python脚本在windows上的portable Firefox中打开一个url,但是我得到了跟踪。 以下是回溯: 我正在使用: 你知道如何让便携式Firefox工作吗?

  • 我用JUnit 4和Selenium Webdriver创建了我的功能测试,它运行正常 现在我想用JMeter进行性能测试。 我在JMeter的库中复制了,然后将测试从Eclipse导出到. jar文件。 这是我的硒测试

  • 问题内容: 我几乎没有为Windows构建软件的经验,而使用Windows API的经验为零,但是我对Python相当熟悉。我应该如何学习将Windows API与Python结合使用? 问题答案: 老实说,没有。Windows API是一个800磅重的长发怪物。 查理·佩佐尔德(Charlie Petzold)的一本15磅重的书 曾几何时地成为典范。 也就是说,适用于Windows的Python