python - 运行 selenium 时出现 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 行,在init restore_signals,start_new_session)文件“/Users/grey/.pyenv/版本/3.7.3/lib/python3.7/subprocess.py",第 1522 行,在 _execute_child raise child_exception_type(errno_num, err_msg, err_filename) NotADirectoryError: [Errno 20] Not a directory: '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')
推荐阅读
- java - mac如何访问oracle数据库
- html - 具有内容作为图像链接和重叠关闭按钮的引导模式 - 如何专注于关闭按钮
- c++ - 使用其他头文件功能的头文件
- java - JAVA:带有 GUI 和控制台输入的 MVC?
- node.js - 数据库迁移-TypeError:无法读取未定义的属性“切片”
- python - 使用循环将列表转换为字符串的函数
- google-cloud-platform - 来自服务帐户密钥的 Google 访问令牌的 REST API
- colors - 如何在 SwiftUI 中更改路径颜色?
- python - 如何匹配和替换 listA column1 值到 ListB column2 与 ListB column1 匹配的值,就像我们在 vlookup 中所做的一样
- go - Golang var 应该有注释或者不应该被导出