尽管我已尽力,但“ Googlechrome”仍未出现在PATH上

时间:2019-09-10 07:56:37

标签: python python-3.x web-scraping path selenium-chromedriver

我正在遵循有关网络抓取https://www.linkedin.com/pulse/how-easy-scraping-data-from-linkedin-profiles-david-craven/的本教程。 python脚本正在生成错误,我已经尝试将目录添加到PATH,并且在我回显屏幕路径时会显示该目录,但是现在当应该只存在一个目录时,它将显示“ / Users / owner / Users / owner”路径中的“用户/所有者”。

我在macOS High Sierra中使用bash,并且是数据科学专业的人,因此DevOps对我来说是一个挑战,同时也要学习如何将代码发布到StackOverflow,但我正在尝试记录我的步骤,因此更容易解决此问题。

  1. 我点装了硒
  2. 我将chromedriver下载到了我的网络抓脚本文件的目录,并双击运行。
  3. 我以为我使用“ export PATH = $ PATH:〜opt / bin:〜/ Users / owner / sbox / test / pandas_sqlite_dbase / chromedriver”将目录添加到了PATH,这是我从{{3} }
  4. 我更新了画中画
  5. 我要从中运行脚本的目录是'/ Users / owner / sbox / test / pandas_sqlite_dbase'
  6. 还有另外一个SO帖子http://osxdaily.com/2014/08/14/add-new-path-to-path-command-line/谈到现在如何自动检测和禁用带有硒的chromedriver ...所以我要尝试使用过时的代码库吗?
  7. 我可以发布整个PATH或提供其他信息。
    from selenium import webdriver

    driver = webdriver.Chrome('~/Users/owner/sbox/test/pandas_sqlite_dbase/googlechrome')


    driver.get('https://www.linkedin.com')

现在我遇到了追溯错误

Traceback (most recent call last):
  File "/Users/owner/anaconda3/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/Users/owner/anaconda3/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/Users/owner/anaconda3/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '~/Users/owner/sbox/test/pandas_sqlite_dbase/googlechrome': '~/Users/owner/sbox/test/pandas_sqlite_dbase/googlechrome'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/owner/sbox/test/pandas_sqlite_dbase/scraping_tutorial.py", line 7, in <module>
    driver = webdriver.Chrome('~/Users/owner/sbox/test/pandas_sqlite_dbase/googlechrome')
  File "/Users/owner/anaconda3/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/Users/owner/anaconda3/lib/python3.7/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: 'googlechrome' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

[Finished in 0.7s with exit code 1]
[shell_cmd: python -u "/Users/owner/sbox/test/pandas_sqlite_dbase/scraping_tutorial.py"]
[dir: /Users/owner/sbox/test/pandas_sqlite_dbase]
[path: /usr/bin:/bin:/usr/sbin:/sbin]

1 个答案:

答案 0 :(得分:1)

我要检查的是〜实际是什么(似乎您的概念不好)通常是主目录,因此,对于用户来说,您的“用户/所有者”,这就是为什么要获得“用户/所有者/用户/所有者”的原因

要对此进行检查,您可以

$>cd ~
$>pwd