WebDriverException:消息:“ chromedriver.exe”可执行文件可能通过Selenium Python使用Google合作实验室具有错误的权限

时间:2020-07-02 10:45:55

标签: python selenium google-chrome selenium-chromedriver google-colaboratory

我正在使用Google Chrome版本83.0.4103.116和ChromeDriver 83.0.4103.39。我正在尝试在Google Colab中使用Chrome驱动程序。我将chromedriver的路径上传到Google colab后使用。你能指出我哪里出错了。 这是代码

import selenium
from selenium import webdriver
wd = webdriver.Chrome(r'/content/chromedriver.exe')

这是错误

---------------------------------------------------------------------------
PermissionError                           Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/common/service.py in start(self)
     75                                             stderr=self.log_file,
---> 76                                             stdin=PIPE)
     77         except TypeError:

4 frames
PermissionError: [Errno 13] Permission denied: '/content/chromedriver.exe'

During handling of the above exception, another exception occurred:

WebDriverException                        Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/common/service.py in start(self)
     86                 raise WebDriverException(
     87                     "'%s' executable may have wrong permissions. %s" % (
---> 88                         os.path.basename(self.path), self.start_error_message)
     89                 )
     90             else:

WebDriverException: Message: 'chromedriver.exe' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

2 个答案:

答案 0 :(得分:1)

Google合作实验室

Colaboratory是免费的Jupyter笔记本环境,无需设置,完全在云中运行,这使我们能够编写和执行代码,保存和共享您的分析以及访问强大的计算资源,而这一切都从您的实验室免费浏览器。

整个合作实验室都在云VM中运行。如果调查VM,您会发现当前的colab笔记本正在Ubuntu 18.04.3 LTS之上运行。

因此,在使用Selenium时,无需提及WebDriver变体以及扩展名,即.exe,则需要删除扩展名。因此,有效的代码块将是:

import selenium
from selenium import webdriver
wd = webdriver.Chrome('/content/chromedriver')

更新

如果不确定ChromeDriver的下载位置,可以将其移动到已知位置并按以下方式使用它:

!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium

from selenium import webdriver
wd = webdriver.Chrome('/usr/bin/chromedriver')

参考文献

您可以在以下位置找到一些详细的相关讨论:

答案 1 :(得分:0)

我创建了一个库来帮助在Colab中更轻松地使用硒。

您可以叫这个

!pip install kora -q
from kora.selenium import wd
wd.get(url)