今天在测试火狐浏览器Firefox Selenium WebDriver的时候遇到NotADirectoryError: [WinError 267] 这个错误,代码如下:
# -*- coding:utf-8 -*-
"""
测试firefox webdriver
文件:WebDriverDemo.py
作者:zhangxl
日期:2020年05月05日
"""
from selenium import webdriver
FFDriverServer = r"C:\Program Files\SeleniumDrivers\geckodriver.exe"
driver = webdriver.Firefox(FFDriverServer)
driver.get("https://www.baidu.com")
一直报这个错误:
Traceback (most recent call last):
File “D:/PycharmProjects/SeleniumLearn/ch1-3/WebDriverDemo.py”, line 13, in
driver = webdriver.Firefox(FFDriverServer)
File “D:\PycharmProjects\SeleniumLearn\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py”, line 151, in init
firefox_profile = FirefoxProfile(firefox_profile)
File “D:\PycharmProjects\SeleniumLearn\venv\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py”, line 79, in init
shutil.copytree(self.profile_dir, newprof,
File “C:\Program Files\Python38\lib\shutil.py”, line 552, in copytree
with os.scandir(src) as itr:
NotADirectoryError: [WinError 267] 目录名称无效。: ‘C:\Program Files\SeleniumDrivers\geckodriver.exe’
原因是WebDirver Firefox方法调用方式不对:改成如下方式:
# -*- coding:utf-8 -*-
"""
测试firefox webdriver
文件:WebDriverDemo.py
作者:zhangxl
日期:2020年05月05日
"""
from selenium import webdriver
# 注意目录反斜杠一定要定义不转义字符串
FFDriverServer = r"C:\Program Files\SeleniumDrivers\geckodriver.exe"
# 这里要指定executeable_path参数来传参数
driver = webdriver.Firefox(executable_path=FFDriverServer)
driver.get("https://www.baidu.com")
这样问题就解决了,一切OK
程序猿在思考 原创文章 2获赞 0访问量 68 关注 私信 展开阅读全文