Chromedriver 没有足够的权限,即使我很艰难,我是这台机器上唯一的管理员



我正在尝试用Python和Selenium编写一个bot脚本。我下载了带有Chromedriver的.zip文件,提取了.exe并将其链接到我的脚本中。当我尝试运行它时,我得到了以下错误:

C:/Users/Jo/Desktop/Programming/Python/MessengerScript/Selenium-Writer.py:12: DeprecationWarning: use options instead of chrome_options
driver = webdriver.Chrome(executable_path=r'C:UsersJoAppDataLocalProgramsPythonPython38Scriptschromedriver.exe',chrome_options=chrome_options)
Traceback (most recent call last):
File "C:UsersJoAppDataLocalProgramsPythonPython38libsite-packagesseleniumwebdrivercommonservice.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "C:UsersJoAppDataLocalProgramsPythonPython38libsubprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:UsersJoAppDataLocalProgramsPythonPython38libsubprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
PermissionError: [WinError 5] Zugriff verweigert
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Jo/Desktop/Programming/Python/MessengerScript/Selenium-Writer.py", line 12, in <module>
driver = webdriver.Chrome(executable_path=r'C:UsersJoAppDataLocalProgramsPythonPython38Scriptschromedriver.exe',chrome_options=chrome_options)
File "C:UsersJoAppDataLocalProgramsPythonPython38libsite-packagesseleniumwebdriverchromewebdriver.py", line 73, in __init__
self.service.start()
File "C:UsersJoAppDataLocalProgramsPythonPython38libsite-packagesseleniumwebdrivercommonservice.py", line 86, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

chromedriver的.exe位于";脚本";文件夹,所以它在Windows的PATH变量中。我试着将.exe设置为";以管理员身份运行";在属性部分,并更改文件夹的继承选项,仍然没有工作。

这是我的代码:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://web.whatsapp.com')
name = input('Enter the name of user or group : ')
msg = input('Enter the message : ')
count = int(input('Enter the count : '))
#Scan the code before proceeding further
input('Enter anything after scanning QR code')
user = driver.find_element_by_xpath('//span[@title = "{}"]'.format(name))
user.click()
msg_box = driver.find_element_by_class_name('input-container')
for i in range(count):
msg_box.send_keys(msg)
driver.find_element_by_class_name('compose-btn-send').click()

您必须提到保存chromedriver.exe的路径,并将其传递给webdriver

path = "<THE_PATH_TO_CHROMEDRIVER.EXE>"
driver = webdriver.Chrome(path)

您可以将chromedriver.exe复制到此文件夹中的C:Windows。然后使用

from selenium import webdriver
driver = webdriver.Chrome()

如果将chromedriver.exe文件保存在任何其他文件夹中,则可以使用该代码。你应该提到带有选项的PATH

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(executable_path=r'DRIVER_PATH',chrome_options=chrome_options)

最新更新