未解析的导入';硒';Python中的错误

未解析的导入';硒';Python中的错误,python,python-3.x,selenium,authentication,selenium-webdriver,Python,Python 3.x,Selenium,Authentication,Selenium Webdriver,住手在你认为我没有告诉自己我的问题之前:我这么做了,只是没有找到解决方案。不,这不是一个复制的问题。我知道关于同一个问题还有一些问题。好的,现在我开始 我想用Python3为Instagram.com创建一个自动登录。(我在VBScript中尝试了它,但失败了)我告诉自己,我必须使用它来处理网站: from selenium import webdriver 但在所有的教程中,我发现他们对此没有任何问题,但我得到了一个错误消息: 错误消息 我浏览了其他问题,发现应该解决我的问题,但他们提出的

住手在你认为我没有告诉自己我的问题之前:我这么做了,只是没有找到解决方案。不,这不是一个复制的问题。我知道关于同一个问题还有一些问题。好的,现在我开始

我想用Python3为Instagram.com创建一个自动登录。(我在VBScript中尝试了它,但失败了)我告诉自己,我必须使用它来处理网站:

from selenium import webdriver
但在所有的教程中,我发现他们对此没有任何问题,但我得到了一个错误消息:

错误消息

我浏览了其他问题,发现应该解决我的问题,但他们提出的和代码并没有解决我的问题

到目前为止,我的完整代码:

from selenium import webdriver
from time import sleep

username = "jonasx_yt"

class InstaBot:
    def __init__(self):
        self.driver = webdriver.Chrome()
        driver.get("https://instagram.com")
        sleep(2)
        login_field =  driver.find_element_by_xpath('/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[2]/div/label/input').send_keys(username)


InstaBot()
我如何解决这个问题

编辑:我现在知道必须首先在命令提示符下安装Selenium:

pip3 install selenium
我这样做了,在YouTube上观看,让它变得像他一样,但它就是不起作用(

它向控制台打印一条很长的错误消息:

Traceback (most recent call last):
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\common\service.py", line 76, in start
stdin=PIPE)
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37- 
32\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37- 
32\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht 
finden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 16, in <module>
InstaBot()
File "main.py", line 8, in __init__
self.driver = webdriver.Chrome()
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
self.service.start()
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\common\service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' 
executable needs to be in PATH. Please see 
https://sites.google.com/a/chromium.org/chromedriver/home
回溯(最近一次呼叫最后一次):
文件“C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\selenium\webdriver\common\service.py”,第76行,开始
标准偏差=管道)
文件“C:\Users\Jonas\AppData\Local\Programs\Python\Python37-
32\lib\subprocess.py”,第775行,在__
恢复信号,启动新会话)
文件“C:\Users\Jonas\AppData\Local\Programs\Python\Python37-
32\lib\subprocess.py”,第1178行,在执行子进程中
startupinfo)
FileNotFoundError:[WinError 2]数据存储系统无法更新
芬登
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“main.py”,第16行,在
InstaBot()
文件“main.py”,第8行,在_init中__
self.driver=webdriver.Chrome()
文件“C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\selenium\webdriver\chrome\webdriver.py”,第73行,在__
self.service.start()
文件“C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\selenium\webdriver\common\service.py”,第83行,开始
os.path.basename(self.path)、self.start\u错误消息)
selenium.common.exceptions.WebDriverException:消息:“chromedriver”
可执行文件需要在路径中。请看
https://sites.google.com/a/chromium.org/chromedriver/home

您的IDE无法找到Selenium软件包。运行
pip show selenium
时,它是否打印任何输出?如果是,请查看以
位置:
开头的行。确保在导入系统的输出中找到位置;打印(系统路径)

此外,如果所显示的是您将要做的全部,我建议您将类简化为单个函数,或者如果您计划在将来添加更多逻辑,将驱动程序代码的实际执行移动到构造函数以外的方法

从selenium导入webdriver
从时间上导入睡眠
InstaBot类:
定义初始化(self,用户名):
self.driver=webdriver.Chrome()
self.username=用户名
def登录(自我):
响应=self.driver.get(“https://instagram.com")
睡眠(2)
response.find_元素(
“/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[2]/div/label/input”
).发送密钥(self.username)
bot=InstaBot(username=“jonasx\u yt”)
bot.login()

您的IDE无法找到Selenium软件包。运行
pip show selenium
时,它是否打印任何输出?如果是,请查看以
位置:
开头的行。确保在导入系统的输出中找到位置;打印(系统路径)

此外,如果所显示的是您将要做的全部,我建议您将类简化为单个函数,或者如果您计划在将来添加更多逻辑,将驱动程序代码的实际执行移动到构造函数以外的方法

从selenium导入webdriver
从时间上导入睡眠
InstaBot类:
定义初始化(self,用户名):
self.driver=webdriver.Chrome()
self.username=用户名
def登录(自我):
响应=self.driver.get(“https://instagram.com")
睡眠(2)
response.find_元素(
“/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[2]/div/label/input”
).发送密钥(self.username)
bot=InstaBot(username=“jonasx\u yt”)
bot.login()

编辑以回答问题,因为问题也经过编辑:

错误消息很明显,您需要安装浏览器驱动程序才能与Selenium一起使用。由于您使用的是
webdriver.Chrome()
,因此还需要安装Chrome驱动程序。

因为chromedriver只是一个zip文件,所以您可以提取并配置指向该提取目录的环境变量(PATH)

如果不想处理PATH env变量,可以用如下代码指定chromedriver路径:

self.driver = webdriver.Chrome("/path/to/chromedriver")
错误消息(未解决的导入)是VSCode的一些linting/codecorrection问题,因为selenium模块已导入,并且在尝试使用chromedriver启动Chrome时,脚本在后面的部分失败

原始答复:

从您的问题来看,感觉您的当前目录中有另一个名为
selenium.py
的python文件,或者python脚本的名称是
selenium.py
本身,或者脚本位于名为
selenium
的目录中


Python首先在当前目录中检查导入的模块,并将当前目录中的所有其他Python文件视为模块。所以重命名这些文件,这将得到解决。

编辑以回答问题,因为问题也会被编辑:

错误消息很明显,您需要安装浏览器驱动程序才能与Selenium一起使用。由于您使用的是
webdriver.Chrome()
,因此还需要安装Chrome驱动程序。

因为chromedriver只是一个zip文件,所以您只需提取和
- tar xf selenium-3.141.0.tar.gz

- cd selenium-3.141.0/

- ls

- python3 setup.py install