如何解决运行硒时获取NotADirectoryError
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from bs4 import BeautifulSoup
my_username = "username"
my_password = "pass"
driver = webdriver.Firefox()
driver.get("http://www.twitch.tv/user/login")
elem_user = driver.find_element_by_id("login_user_login")
elem_passwd = driver.find_element_by_id("user[password]")
elem_user.send_keys(my_username)
elem_passwd.send_keys(my_password + Keys.RETURN)
time.sleep(5)
html = driver.page_source
soup = BeautifulSoup(html)
logginTag = soup.find("a",{"id" : "user_display_name"})
print(logginTag)
driver.close()
错误驱动程序= webdriver.Firefox()文件 “ /Users/grey/.pyenv/versions/3.7.3/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py”, 第164行,初始化 self.service.start()文件“ /Users/grey/.pyenv/versions/3.7.3/lib/python3.7/site-packages/selenium/webdriver/common/service.py”,开始,第76行 stdin = PIPE)文件“ /Users/grey/.pyenv/versions/3.7.3/lib/python3.7/subprocess.py”,行 775,在初始化中 restore_signals,start_new_session)文件“ /Users/grey/.pyenv/versions/3.7.3/lib/python3.7/subprocess.py”,行 1522,在_execute_child中 引发child_exception_type(errno_num,err_msg,err_filename)NotADirectoryError:[Errno 20]不是目录:'geckodriver'
解决方法
基于
NotADirectoryError: [Errno 20] Not a directory: 'geckodriver'
建议:
- 确保已成功安装Fixefox,可以通过在控制台中启动firefox来进行验证
- 从https://github.com/mozilla/geckodriver/releases下载geckodriver二进制文件,请注意geckodriver必须与Firefox版本匹配
- 设置路径。演示
driver = webdriver.Firefox(executable_path=r'/User/xxx/geckodriver')
在使用浏览器时,需要驱动程序实例进行交互,例如,如果要使用chrome驱动程序,则需要chrome驱动程序exe;如果要打开firefox,则需要壁虎驱动程序
https://github.com/mozilla/geckodriver/releases,您还可以从此链接下载最新的驱动程序,并设置路径并重新运行项目
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。