【问题标题】:Colaboratory and Selenium: error message 'geckodriver' executable needs to be in PATH [duplicate]Colaboratory 和 Selenium:错误消息“geckodriver”可执行文件需要在 PATH [重复]
【发布时间】:2019-03-28 17:59:30
【问题描述】:

我尝试使用 Selenium 运行脚本以从“无限”滚动 instagram 页面下载/抓取数据以进行研究。我使用 google colaboratory,它没有安装浏览器,因为它像服务器一样运行。

这是我的剧本

import time
from selenium import webdriver
from bs4 import BeautifulSoup as bs

browser = webdriver.Firefox()
browser.get("https://www.instagram.com/dario_nardella/?hl=it")

lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
match=False
while(match==False):
        lastCount = lenOfPage
        time.sleep(3)
        lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
        if lastCount==lenOfPage:
            match=True
source_data = browser.page_source
bs_data = bs(source_data)

我有这个错误

WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

为了解决我的问题,我尝试使用这个 bash 命令下载 geckodriver

!wget https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-linux64.tar.gz
!tar -xvzf geckodriver-v0.11.1-linux64.tar.gz
!rm geckodriver-v0.11.1-linux64.tar.gz
!chmod +x geckodriver

但我有同样的错误。 非常感谢任何解决方案

我遵循@macio 解决方案,但我有另一个权限问题,可能是由 colaboratory 引起的

browser = webdriver.Firefox(executable_path=/path to geckodriver/)

我不知道为什么

-rwxrwxr-x 1 1000 1000 4087499 Oct 10  2016 geckodriver*
-rw-r--r-- 1 root root       0 Oct 24 10:20 geckodriver.log

【问题讨论】:

  • 您需要从浏览器下载 gekodriver 并将其放在您拥有用于 selenium 的 Firefox 驱动程序的同一路径中,以便从您的系统路径中动态获取它们;如果你愿意,你甚至可以将它保存在另一个地方,但在这种情况下你需要你的 webdriver.Firefox() 指向它;例如,我在 C:\Python27\selenium\webdriver 上有我的 gekodriver.exe
  • 你确定它对 google colab 有用吗??!!!

标签: python selenium scroll google-colaboratory


【解决方案1】:

首先,您为什么使用 2016 年 10 月 10 日起的这么旧的 geckodriver?

试试这个方法:

browser = webdriver.Firefox(executable_path=/path to geckodriver/)

或者在 PATH 环境变量中插入 geckodriver 的路径:

export PATH=$PATH:/path to geckodriver/

【讨论】:

  • 如何在google colab中找到路径?
猜你喜欢
  • 2020-06-05
  • 2018-07-11
  • 2018-03-25
  • 2020-09-11
  • 2017-03-04
  • 2019-06-13
  • 1970-01-01
  • 2021-01-26
  • 1970-01-01
相关资源
最近更新 更多