Python Selenium Geckodriver 连接被拒绝

4

我花了几个小时尝试让Python与Selenium配合使用,但是没有成功。出现了以下错误信息:selenium.common.exceptions.WebDriverException: Message: connection refused。这是我使用的示例:

from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.python.org')
browser.close()

这是我安装的依赖项:apt-get install -y xorg xvfb dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic

这是/root/geckodriver.log的输出

1493938773101 geckodriver INFO 正在监听 127.0.0.1:40876 1493938774156 geckodriver::marionette INFO 正在启动浏览器 /usr/lib/firefox/firefox.sh,参数为 ["-marionette"] (firefox:3128): GLib-GObject-CRITICAL **: g_object_ref: assertion 'object->ref_count > 0' failed

我在一台128MB RAM的远程Ubuntu 14.04 64位VPS服务器上运行Selenium,但无法与Chrome和Firefox的驱动程序通信,我不知道哪里出了问题。

2个回答

4
请先检查您的“Firefox”浏览器版本。
有时我会感到困惑。我正在使用Raspbian和通过apt-get下载的“Iceweasel”是Firefox 52版本,无法与geckodriver 0.19一起使用(此版本要求Firefox 55或更高版本)。
对我有效的是下载geckorvider v0.16,这解决了问题。
此外,您可能不需要xorg即可使其正常工作,我所需的唯一软件包是xfvb和iceweasel。

{btsdaf} - Salem
{btsdaf} - Marcin Bobowski

2

好的,我放弃了使用 Geckodriver,我改用 PhantomJS 作为我的浏览器驱动。

 from selenium import webdriver  
 display = Display(visible=0, size=(800, 600))
 display.start() 
 driver = webdriver.PhantomJS()
 driver.get('http://www.python.org')
 html_source = driver.page_source
 print ("html_source:",html_source) 
 driver.quit()

以下是我用来安装PhantomJS的步骤:
cd ~
export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar xvjf $PHANTOM_JS.tar.bz2
mv $PHANTOM_JS /usr/local/share
ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin



Python  Selenium        
apt-get install python-pip  -y 
pip uninstall pyvirtualdisplay
apt-get install x11vnc xvfb fluxbox
Xvfb :99 -ac
xvfb-run  -a   python 99.py
pip uninstall selenium
pip install selenium==2.53.1

另请参阅如何在Ubuntu上安装PhantomJS


1
谢谢。我也曾对Selenium + Firefox + Geckodriver的无尽问题感到沮丧,而PhantomJS就可以使用。 - Cerin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接