首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有可能在Selenium RC中隐藏浏览器吗?

有可能在Selenium RC中隐藏浏览器吗?
EN

Stack Overflow用户
提问于 2009-09-13 16:07:54
回答 9查看 89.6K关注 0票数 93

我正在使用Selenium RC自动执行一些浏览器操作,但我希望浏览器不可见。这个是可能的吗?多么?Selenium Grid怎么样?我也可以隐藏Selenium RC窗口吗?

EN

回答 9

Stack Overflow用户

发布于 2012-01-18 20:48:05

在Linux上,您可以在无头(虚拟)显示中运行WebDriver来隐藏浏览器。这可以使用Xvfb (X虚拟帧缓冲区)来完成。

您可以使用xvfbwrapperhttps://github.com/cgoldberg/xvfbwrapper直接从Python代码控制Xvfb.

用于运行headless的Python代码将如下所示:

代码语言:javascript
复制
from selenium import webdriver
from xvfbwrapper import Xvfb

display = Xvfb()
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
driver = webdriver.Firefox()
driver.get('http://www.google.com')

print(driver.title)
driver.quit()

display.stop()

在Debian/Ubuntu上安装依赖项:

代码语言:javascript
复制
$ sudo apt-get install xvfb
$ pip install xvfbwrapper
票数 58
EN

Stack Overflow用户

发布于 2014-05-28 04:11:01

我很容易就把浏览器窗口隐藏起来了。

只有install PhantomJS。然后,更改此行:

代码语言:javascript
复制
driver = webdriver.Firefox()

至:

代码语言:javascript
复制
driver = webdriver.PhantomJS()

剩下的代码就不需要修改了,浏览器也不会打开。出于调试目的,请在代码的不同步骤中使用driver.save_screenshot('screen.png')

票数 24
EN

Stack Overflow用户

发布于 2009-09-14 04:28:56

+1表示Selenium RC作为windows服务。

为了让测试完全隐蔽地运行,我认为如果你在windows上,你没有太多的解决方案。

我要做的是让局域网中的一台计算机始终在线,并运行selenium RC服务器。因此,您使用计算机IP而不是localhost来运行测试。例如:

代码语言:javascript
复制
browser = selenium("10.15.12.34",4444,"*firefox","http://saucelabs.com")

(考虑到这是运行服务器的计算机的ip )。

有了这个设置,你在你的计算机上运行你的测试,浏览器和RC服务器窗口在另一台计算机上,一旦完成就回到你的计算机上。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1418082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档