问题标签 [ghostdriver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4728 浏览

testing - How to capture a screenshot with PHPUnit and Selenium2 when the test fails?

I'm using PHPUnit 4.6 and PHPUnit Selenium 1.4.2 with PhantomJS. I want capture a screenshot with the last page when selenium test fails. In PHPUnit Manual there is a example for Selenium 1, but I'm trying use with Selenium 2, because I need use GhostDriver.

WebTestCase.php

Test.php

But this not capture a screenshot.

0 投票
2 回答
685 浏览

python - 在无头浏览器(PhantomJS)中异步打开页面

我通过 Selenium+Ghostdriver 通过 Python 使用 PhantomJS。

我希望同时加载多个页面,为此,我正在寻找一种异步方法来加载页面。

根据我的研究,PhantomJS 已经存在于一个单独的线程中并支持多个选项卡,所以我认为唯一缺少的部分是一种以非阻塞方式加载页面的方法。

任何解决方案都会受到欢迎,无论是我忽略的简单 Ghostdriver 方法,绕过 Ghostdriver 并直接与 PhantomJS 或其他无头浏览器交互。

感谢您的帮助和建议。

尤瓦尔

0 投票
1 回答
798 浏览

rspec - PhantomJS 间歇性地拒绝连接

我正在使用 Ruby 2.1.0、watir-webdriver、rspec、taza和 PhantomJS 1.9.8。操作系统是Linux tester 3.2.0-4-686-pae #1 SMP Debian 3.2.65-1+deb7u1 i686 GNU/Linux.

我通过运行 PhantomJSWatir::Browser.new并提供以下命令行参数--ignore-ssl-errors=true --ssl-protocol=any --debug=true --cookies-file=/tmp/cookies.txt

一开始有一个规范文件间歇性地失败(我会说,可能是失败而不是通过):Connection refused - connect(2) for "127.0.0.1" port 8910. 同时,netstat -tulpan显示:

总共大约90个港口。rspec它们在退出后保持打开状态。我对这种故障的间歇性感到困惑。有没有其他人遇到过同样的问题?非常感谢任何建议、推荐、链接等。谢谢你。


UPD:我仔细看了看,发现在某个时间点 PhantomJS 开始丢弃从 webdriver 获得的连接:-> [SYN], <- [RST, ACK]。该过程保留在内存中,但由于 PhantomJS 不保留任何错误日志,我完全不知道是什么原因。

0 投票
1 回答
3504 浏览

java - 我简单的 ghostdriver 程序没有运行?

让我告诉你,我是全新的使用GhostDriver

我成功下载PhantomJS并且我已经将我的路径设置为环境变量,现在我正在尝试运行这个简单的程序:

我试图运行它,但它说:

请帮忙 :(

帮助将不胜感激!

更新


下载后selenium-common.jar,我收到此错误:

0 投票
1 回答
3006 浏览

python - Selenium 与 PhantomJS:Yahoo 登录表单未提交(Python 绑定)

我在 OS X 上使用 selenium webdriver 编写了一个 python 2.7 脚本来登录 Yahoo Fantasy Sports 并自动执行一些操作。

该脚本适用于 webDriver Firefox 和 Chromedriver。我最近开始使用 PhantomJS (GhostDriver),我发现我无法让 PhantomJS Selenium Driver (GhostDriver) 登录到Yahoo 登录表单

脚本在第 47 行失败,

driver.find_element_by_xpath("//a[text() = '我的团队']").click()

当它试图找到带有文本 My Team 的链接时。屏幕截图转储显示它永远不会通过登录表单。表单状态上方的屏幕错误消息

请重新加载页面并重试或使用其他浏览器

我在这篇文章中看到,因此包含了在 Jquery 本地加载的 execute_script 命令,但这并没有解决它。我不确定是否是雅虎安全问题阻止了 PhantomJS。但为什么它只会在无头浏览器而不是 FF 或 Chrome 上失败?

我也发现了这个问题,并尝试提交表单本身而不是单击按钮,但这没有任何区别。我已经注释掉了上面示例中的代码。

PhantomJS 版本:2.0.0

0 投票
1 回答
987 浏览

java - 使用 PhantomJSDriver 的 Selenium 测试挂起且未完成

首先,我启动本地 webapp。

接下来,当我在 Eclipse 中将以下测试作为 JUnit 测试运行时(使用-Dbrowser=phantomjs):

测试永远不会结束。就像是挂着一样。(当我在浏览器中打开相同的 URL 时,会显示 webapp)

这是控制台输出:

此外,没有phantomjsdriver.log(日志中提到的那个)。

如果有用,这些是依赖项:

0 投票
0 回答
1456 浏览

php - PhantomJS - 'unsafe-eval' 不是以下内容安全策略指令中允许的脚本来源

我正在尝试使用 PHP webdriver 和 PhantomJS 更改输入的值。当我运行一个简单的

我收到以下错误

拒绝将字符串评估为 JavaScript,因为 unsafe-eval 在以下内容安全策略指令中不是允许的脚本来源

我设置了以下命令行选项

有什么建议么?

0 投票
5 回答
1426 浏览

javascript - 出现错误:无法启动 Ghost 驱动程序

我正在尝试Ghostdriver在我的 Openshift 服务器中运行。当我运行这个命令时:

./phantomjs --webdriver=15002

它说:

请帮帮我,我从10 Days. 我搜索了所有内容并用谷歌搜索了所有内容。什么都没有解决我:(我很不高兴:(

帮助肯定会不胜感激!

0 投票
3 回答
4854 浏览

python - Phantom JS 驱动程序有时无法定位元素

我是 PhantomJS 的新手,我正在尝试使用 phantomjs 驱动程序运行我的硒测试(python),但它不会是 web 元素。

幽灵驱动程序日志:

有趣的是,在我成功安装了 phantomjs 之后,我运行了我的登录测试,它顺利通过了。然后我运行了另一个测试,但由于上述相同的原因而失败。我尝试再次运行已通过的登录测试 - 但 phantomjs 驱动程序将不再找到这些元素。

知道是什么原因造成的吗?

顺便说一句,这些测试在 chrome 和 FF 上运行良好

0 投票
1 回答
3359 浏览

selenium - Geb/Selenium 测试挂起加载新页面

我的 Selenium 测试经常无限期地挂在 CI 上,总是试图在driver.get. 我正在使用 PhantomJS 1.9.8。

经过几轮调试,我想我已经将问题追溯到网页加载没有在 PhantomJS 中完成。

Selenium RemoteWebDriver 已向 PhantomJS/GhostDriver 发送了一个请求,它正在等待响应。

GhostDriver 仍在接受请求。我可以通过点击来查看它停留在哪个页面上,如果我从命令行 ( )curl http://localhost:port/session/:sessionId/url重新请求同一页面curl -d '{"url": ...}' http://localhost:port/session/:sessionId/url,则被阻止的 Selenium 请求会神奇地从它停止的地方恢复。

更新: Ghostdriver 本身并没有挂起——不过,它的默认超时基本上是无限的。如果我指定页面加载超时,例如,manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS)当问题发生在 PhantomJS 中时,GhostDriver 将返回一个超时错误响应,测试将失败,并且构建将继续。

如果我调试 PhantomJS 本身(--debug=TRUE),那么我认为这是故障点日志中的最后一件事

2015-03-21T21:26:39 [DEBUG] WebPage - updateLoadingProgress: 86 (然后什么都没有,直到超时)

Java 端的堆栈跟踪在挂起点是这样的:

感觉与此类似,但使用的是 PhantomJS 而不是 Firefox:

Firefox WebDriver 挂起等待页面加载