我正试图从下面的python代码调用使用Selenium webdriver的firefox浏览器。。from selenium import webdriver
# Initializing the WebDriver for Firefox browser
driver = webdriver.Firefox("C:\\selenium\\mozilla\\geckodriver.exe")
driver.set_page_load_timeout(30)
driver.maximize_window()
driver.get("https://www.google.com/")
# Closing the reference
driver.quit()
但它总是会抛出如下错误,不过这对Chrome浏览器是有效的。
Traceback (most recent call last):
File "C:/Python/Practice/FirefoxSample.py", line 8, in
driver = webdriver.Firefox("C:\\selenium\\mozilla\\geckodriver.exe")
File "C:\Python\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 139, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "C:\Python\venv\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py", line 78, in __init__
ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock"))
File "C:\Python\Python36-32\lib\shutil.py", line 309, in copytree
names = os.listdir(src)
NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\selenium\\mozilla\\geckodriver.exe'
Process finished with exit code 1
我错过了什么?
我还尝试使用pip升级selenium包
pip install -U selenium
其他信息:运行firefox最新版本(59.0.2)、python(3.6.5)和selenium gecko webdriver(0.20.0)。不确定是否需要帮助。
最佳答案:
你需要处理以下几件事:
您需要通过一个正斜杠(即\)和原始的(即r开关)传递密钥可执行路径以及壁虎的绝对路径值,如下所示:from selenium import webdriver
driver = webdriver.Firefox(executable_path=r'C:\selenium\mozilla\geckodriver.exe')
driver.set_page_load_timeout(30)
driver.get("https://www.google.com/")
driver.quit()
通过IDE清理项目工作区,并仅使用所需的依赖项重新生成项目。
使用CCleaner工具清除测试套件执行前后的所有操作系统杂务。
如果您的基本Web客户端版本太旧,请通过Revo Uninstaller卸载它,并安装最新的GA和发布的Web客户端版本。
重新启动系统。
执行@Test。