gpt4 book ai didi

python - Selenium 无法连接到 GhostDriver(但只是有时)

转载 作者:太空狗 更新时间:2023-10-29 20:22:56 24 4
gpt4 key购买 nike

我已经使用 Selenium 和 PhantomJS 在 Python 中设置了一个简单的网络抓取脚本。我总共有大约 200 个 URL 需要抓取。该脚本起初运行良好,然后在大约 20-30 个 URL 之后(它可能更多/更少,因为它在失败时看起来是随机的并且与任何特定 URL 无关)我在 python 中收到以下错误:

selenium.common.exceptions.WebDriverException: Message: 'Can not connect to GhostDriver'

还有我的 ghostdriver.log:

PhantomJS is launching GhostDriver...
[ERROR - 2014-07-04T17:27:37.519Z] GhostDriver - main.fail - {"message":"Could not start Ghost Driver","line":82,"sourceId":140692115795456,"sourceURL":":/ghostdriver/main.js","stack":"Error: Could not start Ghost Driver\n at :/ghostdriver/main.js:82","stackArray":[{"sourceURL":":/ghostdriver/main.js","line":82}]}

我已经搜索过,关于 SO 的大多数问题似乎是他们甚至不能运行单个 URL。我发现在脚本中间发生错误的唯一其他问题是 this one,答案是将 phantomjs 升级到最新版本,我已经完成了。另一个答案只是说再次尝试该 URL,这似乎不是一个好的解决方案,因为该 URL 可能会再次失败。

我在 Python 2.7.6 上的 Linux Mint 17 上运行 phantomjs 1.9.7 版和 selenium 2.42.1 版

for url in ['example.com/1/', 'example.com/2/', 'example.com/3/', .. , ..]:
user_agent = 'Chrome'
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap['phantomjs.page.settings.userAgent'] = user_agent
driver = webdriver.PhantomJS(executable_path='/usr/bin/phantomjs', desired_capabilities=dcap)
driver.get(url)

最佳答案

我遇到了同样的问题来修复它我从源代码安装了 phantomjs

For Linux (Debian):
sudo apt-get update
sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev libxft-dev
git clone git://github.com/ariya/phantomjs.git
cd phantomjs
git checkout 1.9
./build.sh

For Mac os:
git clone git://github.com/ariya/phantomjs.git
cd phantomjs
git checkout 1.9
./build.sh

对于其他系统,请查看以下链接 http://phantomjs.org/build.html

Optional :
cd bin
chmod +x phantomjs
cp phantomjs /usr/bin/

我想通了,因为当我阅读我的 ghostdriver.log 文件时,它说。

[ERROR - 2014-09-04T19:33:30.842Z] GhostDriver - main.fail - {"message":"Could not start Ghost Driver","line":82,"sourceId":140145669488128,"sourceURL":":/ghostdriver/main.js","stack":"Error: Could not start Ghost Driver\n    at :/ghostdriver/main.js:82","stackArray":[{"sourceURL":":/ghostdriver/main.js","line":82}]}

我确信一定有一些丢失的文件,它必须用于某些边缘情况。所以我决定从源代码构建它现在工作正常。

关于python - Selenium 无法连接到 GhostDriver(但只是有时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com