相关疑难解决方法(0)

Selenium Webdriver可以在后台静默打开浏览器窗口吗?

我有一个运行许多测试的selenium测试套件,在每个新测试中,它打开了我打开的任何其他窗口顶部的浏览器窗口.在当地环境中工作时非常震动.有什么办法告诉selenium或操作系统(MAC)在后台打开窗口?

webdriver selenium-grid selenium-webdriver

139
推荐指数
8
解决办法
18万
查看次数

如何在Xvfb中运行Selenium?

我在EC2实例上.所以没有GUI.

$pip install selenium
$sudo apt-get install firefox xvfb
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

$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 …
Run Code Online (Sandbox Code Playgroud)

python unix linux user-interface selenium

89
推荐指数
4
解决办法
9万
查看次数

下载铬无头和硒

我正在使用python-selenium和Chrome 59,并试图自动化一个简单的下载序列.当我正常启动浏览器时,下载工作正常,但是当我在无头模式下这样做时,下载不起作用.

# Headless implementation
from selenium import webdriver

chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("headless")

driver = webdriver.Chrome(chrome_options=chromeOptions)

driver.get('https://www.mockaroo.com/')
driver.find_element_by_id('download').click()
# ^^^ Download doesn't start
Run Code Online (Sandbox Code Playgroud)
# Normal Mode
from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://www.mockaroo.com/')
driver.find_element_by_id('download').click()
# ^^^ Download works normally
Run Code Online (Sandbox Code Playgroud)

我甚至尝试添加默认路径:

prefs = {"download.default_directory" : "/Users/Chetan/Desktop/"}
chromeOptions.add_argument("headless")
chromeOptions.add_experimental_option("prefs",prefs)
Run Code Online (Sandbox Code Playgroud)

添加默认路径在正常实现中起作用,但无头版本中仍存在相同的问题.

如何在无头模式下启动下载?

python selenium google-chrome google-chrome-headless

54
推荐指数
5
解决办法
3万
查看次数

如何配置ChromeDriver以通过Selenium在无头模式下启动Chrome浏览器?

我正在研究一个用于网络搜索的python脚本,并且已经走上了使用Chromedriver作为其中一个软件包的道路.我希望这在没有任何弹出窗口的情况下在后台运行.我在chromedriver上使用'headless'选项,它似乎没有显示浏览器窗口,但是,我仍然看到.exe文件正在运行.看到我正在谈论的截图.截图

这是我用来启动ChromeDriver的代码:

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
options.add_argument('headless')
options.add_argument('window-size=0x0')
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"
Run Code Online (Sandbox Code Playgroud)

我试图做的事情是将选项中的窗口大小改为0x0,但我不确定是什么,因为.exe文件仍然弹出.

有关如何做到这一点的任何想法?

我使用的是Python 2.7 FYI

python selenium selenium-chromedriver selenium-webdriver google-chrome-headless

40
推荐指数
6
解决办法
6万
查看次数

Python Selenium 中的 Chrome 选项:禁用 GPU 与 Headless

在python-selenium chrome_options中,以下两个选项到底有什么区别,我知道两者都运行selenium脚本而不打开浏览器。

chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
Run Code Online (Sandbox Code Playgroud)

python selenium chrome-options

12
推荐指数
2
解决办法
1万
查看次数

Ghostdriver 1.2.1 + PhantomJS 2.0 +最新的Selenium在Java中找不到变量错误

((JavascriptExecutor) driver).executeScript("arguments[0].click();", buttonToClick);
Run Code Online (Sandbox Code Playgroud)

^域名故意编辑.

根据无法找到变量 - PhantomJS这个错误与没有正确执行Javascript的执行有关.我不明白这在我的Java程序的上下文中意味着什么.

我的Selenium程序只有一种Javascript调用,它的工作原理如下:

String[] cli_args = new String[]{"--debug=false", "--web-security=false", "--ssl-protocol=any", "--ignore-ssl-errors=true"};
        DesiredCapabilities caps = DesiredCapabilities.phantomjs();
        caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cli_args);
        caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "/Users/richard/Downloads/phantomjs-2.0.0-macosx/bin/phantomjs");
        driver = new PhantomJSDriver(caps);
Run Code Online (Sandbox Code Playgroud)

上面的这一行似乎不是问题,因为从我的测试中我可以看到像上面这样的多行在遇到上述错误之前执行没有错误.

此外,Session.NegotiatedCapabilities有"acceptSslCerts":false,我无法使用此代码块作为PhantomJS驱动程序初始化程序解决:

Jan 16, 2016 6:23:40 AM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: arguments: [--web-security=no, --ignore-ssl-errors=yes, --webdriver=33238, --webdriver-logfile=/Users/richard/YeezyBot/phantomjsdriver.log]
Run Code Online (Sandbox Code Playgroud)

我可以看到参数是在控制台上传递的......

((JavascriptExecutor) driver).executeScript("arguments[0].click();", buttonToClick);
Run Code Online (Sandbox Code Playgroud)

最后,一切都适用于Firefox WebDriver.

javascript java selenium phantomjs ghostdriver

10
推荐指数
1
解决办法
1225
查看次数

在 Python 中运行 selenium 时,有没有办法隐藏浏览器?

我正在使用 selenium 进行一个项目来抓取数据,但我不希望浏览器打开并弹出。我只是想隐藏浏览器,也不想在任务栏中显示它......

有些人还建议使用 phantomJS 但我没有得到它们。现在做什么 ...

python selenium python-3.x selenium-webdriver

2
推荐指数
1
解决办法
2904
查看次数