我在EC2实例上。因此没有GUI。
$pip install selenium
$sudo apt-get install firefox xvfb
然后我这样做:
$Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &
$DISPLAY=:1 java -jar selenium-server-standalone-2.0b3.jar
05:08:31.227 INFO - Java: Sun Microsystems Inc. 19.0-b09
05:08:31.229 INFO - OS: Linux 2.6.32-305-ec2 i386
05:08:31.233 INFO - v2.0 [b3], with Core v2.0 [b3]
05:08:32.121 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
05:08:32.122 INFO - Version Jetty/5.1.x
05:08:32.123 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
05:08:32.124 INFO - Started HttpContext[/selenium-server,/selenium-server]
05:08:32.124 INFO - Started HttpContext[/,/]
05:08:32.291 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@1186fab
05:08:32.292 INFO - Started HttpContext[/wd,/wd]
05:08:32.295 INFO - Started SocketListener on 0.0.0.0:4444
05:08:32.295 INFO - Started org.openqa.jetty.jetty.Server@1ffb8dc
太好了,现在一切正常,对吗?
当我运行代码时:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get("http://www.yahoo.com")
我得到这个:
Error: cannot open display: :0
打开终端并运行此命令 xhost +
。每次重新启动计算机时都需要运行此命令。如果一切正常,可以将其添加到启动命令中
还要确保在/ etc / environment
文件中有一行
export DISPLAY=:0.0
然后,运行测试以查看问题是否得到解决。
在使用此功能之前,请所有人注意以下来自sardathrion的评论。
问题内容: 我在EC2实例上。因此没有GUI。 然后我这样做: 太好了,现在一切正常,对吗? 当我运行代码时: 我得到这个: 问题答案: 打开终端并运行此命令 。每次重新启动计算机时都需要运行此命令。如果一切正常,可以将其添加到启动命令中 还要确保在/ etc / environment文件中有一行 然后,运行测试以查看问题是否得到解决。 所有在使用此功能之前,请注意下面来自sardathrion
使用Xvfb在LXD容器(ubuntu: 16.04)内运行GUI应用程序并在容器内执行以下命令很容易: 我的目标是在不登录的情况下执行上述命令,并在启动容器时自动执行(lxc start)。 我试图在“/etc/init.d/myscript”中创建一个脚本,并使其可执行。但没有机会,它没有工作(链接)。 另外,当我尝试执行
问题内容: 我正在尝试无头运行Selenium(不显示浏览器)。其他问题已指出是执行此操作的工具。但是,它似乎非常不稳定,一直崩溃,因此我正在寻找另一种选择。 有没有非Xvfb方式运行Selenium的方式吗? 问题答案: 我认为您不运行X服务器就无法运行浏览器。 如果您不喜欢Xvfb,那么正如Pascal所说,最好的选择可能是运行VNC服务器- 我个人喜欢Xtightvnc。这意味着您正在运行一
问题内容: 我有一个脚本,可以创建网站并动态打印一些数据。-打印的数据应来自另一个python脚本。 我目前面临的问题是,如果我将执行python脚本的行放在执行应用程序的行之前,它将运行Python脚本而不运行;反之亦然。 Python脚本: Flask脚本(注意:价格应为其他脚本的“解析”变量): 问题答案: 使用: 将python脚本(例如)生成的内容包装到函数中。 将其放置在与或相同的目录
问题内容: 我不知道应该把我的Spider代码放在哪里以及如何从main函数中调用它。请帮忙。这是示例代码: 问题答案: 所有其他答案均参考Scrapyv0.x。根据更新的文档,Scrapy 1.0要求:
问题内容: 我是python的新手。只知道什么是python。我创建了以下代码(在python IDLE中): 然后,我将此页面保存在本地主机中为index.py 我使用http://localhost/index.py运行脚本 但是它没有显示执行的python脚本。而是将上面的代码显示为HTML。问题出在哪儿?请有人告诉我如何在网页中运行python吗? 问题答案: 为了显示您的代码,您需要执行