问题标签 [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 投票
0 回答
284 浏览

selenium - 这个测试设置是否正确/可能的 selenium IDE、ghostdriver、phantom.js、grid 和 php-webdriver 是否正确?

我想一次运行多个 phantomjs 实例。我想在 firefox/chrome/ie 中使用 phantomjs 而不是 selenium 的原因是 cookie 分离和在需要时易于使用代理(我们的一些系统需要从不同的 IP 访问)。加上 phantomjs 似乎比带有“头”的浏览器更苗条/更快。

我还想使用 selenium IDE 生成测试脚本(我已经尝试过 Resurrectio+casperjs,它很好,但 selenium 似乎更好)然后使用 php-webdriver 将它们作为 PHP 运行。

我一直在试图了解所有这些部分是如何组合在一起的,所以这个过程是否有效......

使用 firefox 在 selenium IDE 中生成测试脚本,然后将它们导出到 python 将此 Python 脚本转换为 facebooks php-webdriver 版本。看起来我必须手动执行此操作?使用此 php 脚本运行 Phantom.js 并将其指向 selenium java 服务器以执行脚本。

这一切都正确吗?我可以在一台机器上同时运行多个实例吗?我需要网格吗?鬼司机在哪里适合这一切!?

0 投票
0 回答
325 浏览

php - 是否可以使用 php-webdriver / ghostdriver / PhantomJS 1.9 实现会话隔离?

我正在尝试通过 facebooks php webdriver / ghost driver 和 phantomjs 实现会话隔离。我想在没有会话/测试相互干扰的情况下运行并发测试。

我已经尽可能多地研究了这个,但我对 phantomjs 很陌生,所以它让我很困惑。我可以在这里看到它包含在 ghostdriver 1.1.1 中,但这不在 phamtomjs 1.9 中,它在 2 中,我不相信它与 facebooks php webdriver 一起使用?

我也可以在这里这里看到它讨论的 phantomjs 。

我是否认为这只能在 phantomjs 2 中完成?如果有可能在带有 ghostdriver 和 php-webdriver 的 phantomjs 1.9 中有人可以告诉我究竟是怎么做的吗?

0 投票
1 回答
516 浏览

.net - PhantomJSDriver 无法选择 jQuery ui 选项卡

我看到一个奇怪的失败,无法选择一对 jQuery ui 选项卡的第二个选项卡。这对 ChromeDriver 非常有效,但对 PhantomJSDriver 失败。

我的 PhantomJS 版本:1.9.8

jQuery 版本:1.10.2

jQuery 用户界面版本:1.10.3

开发环境:VS2012

你可以在这里找到我的页面的副本:http: //jsfiddle.net/anjw2gnr/1/

这是页面的相关部分:

这是我的单元测试的样子:

使用 ChromeDriver 运行,一切都会过去。但是,当我使用 PhantomJSDriver 运行时,它在以下行中失败:

结果消息:

测试方法 MyProject.WebDriverDemo.SampleJQueryTabsTest 抛出异常:OpenQA.Selenium.ElementNotVisibleException: {"errorMessage":"元素当前不可见,可能无法操作","re​​quest":{"headers":{"Accept":"application /json, image/png","Connection":"关闭","Content-Length":"0","Content-Type":"application/json;charset=utf-8","Host":"localhost :49593"},"httpVersion":"1.1","method":"POST","post":"","url":"/click","urlParsed":{"anchor":"","查询“:”“文件”:“点击”,“目录”:“/”,“路径”:“/点击”,relative":"/click","port":"","host":"","password":"","user":"","userInfo":"","authority":"", "protocol":"","source":"/click","queryKey":{},"chunks":["click"]},"urlOriginal":"/session/e22c43f0-7c05-11e4-9c9e- 6191347cc85b/element/%3Awdc%3A1417732544176/点击"}}urlOriginal":"/session/e22c43f0-7c05-11e4-9c9e-6191347cc85b/element/%3Awdc%3A1417732544176/click"}}urlOriginal":"/session/e22c43f0-7c05-11e4-9c9e-6191347cc85b/element/%3Awdc%3A1417732544176/click"}}

不可见的元素是选项卡 2 下的按钮,但是按钮不可见的唯一原因是选项卡 2 从未被单击。这意味着以下行失败,但仅使用 PhantomJSDriver:

关于为什么这只会对 PhantomJSDriver 而不是 ChromeDriver 失败的任何想法?这是 PhantomJS 中可能存在的错误吗?

补充笔记:

当我在 VS2012 中将以下行放入 Quick Watch 时:

对于 Selected 属性,我看到以下内容:

driver.FindElement(By.XPath("//div[@id='tabs']/ul/li[2]")).Selected' 抛出类型为 'OpenQA.Selenium.InvalidElementStateException' 的异常 bool {OpenQA.Selenium .InvalidElementStateException}

但是,当使用 ChromeDriver 运行时,Selected 属性仅显示 false 值而不是 InvalidElementStateException。

0 投票
0 回答
134 浏览

selenium - 将 PhantomJS 用于 Selenium 的 htmlsuite

尝试将 selenese 命令从 Selenium IDE 移植到可用于 cron 的任务,并且已经使用本地安装的 Firefox 使用 Webdriver 的 HTMLSuite 命令运行这些命令。但是,我们需要在不打开可视浏览器的情况下运行它们——因为我们已经在应用程序的其他地方使用了 PhantomJS,这似乎是合乎逻辑的选择,而不是走 XVFB 路线。

这可能吗?我尝试了各种命令,但不断收到 phantomjs 不是被接受的浏览器的错误。

0 投票
1 回答
988 浏览

node.js - 无法将 Selenium + PhantomJS/GhostDriver 作为子进程启动

我有一个 Node 脚本,我想使用该child_process模块来让Selenium服务器与 PhantomJS 的GhostDriver 一起运行。

我需要模块: Child = require "child_process"

这就是我尝试启动服务器并将GD附加到它的方式(在Coffeescript中):

对于stdout@PhantomJS这样的:

此外,我从该命令中收到此错误:{"killed": false, "code": 1, "signal": null}

一些注意事项:

  • Selenium jar 文件实际上位于 selenium/selenium-server-standalone-2.44.0.jar
  • 我试过npm updateing 只是想看看这是否会有所作为
  • 我突然想到 4444 端口上可能正在运行其他东西,所以我继续运行"PORT_NUMBER=4444 | lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill",但无济于事
  • 我已经尝试按照这个建议从源代码安装 PhantomJS到同样的错误
  • 如果我在脚本之外单独运行这些命令,一切正常
0 投票
0 回答
367 浏览

scala - Selenium/PhantomJS 不适用于 http://webscraper.io/test-sites/e-commerce/more

我定义了一个 WebDriver,进入一个示例页面:http : //webscraper.io/test-sites/e-commerce/more/computers/tablets,然后多次单击“LoadMore”按钮。它们都不起作用。

这就是我使用它的方式(在 scala 中,如果你愿意,我可以用 Java 翻译和测试):

PageSource 显示还是点击之前的页面

0 投票
1 回答
542 浏览

selenium-webdriver - 带有 PhantomJSDriver 1.1.0 的 Selenium Webdriver 2.42.2 中的 UnreachableBrowserException

Selenium Web Driver 2.42.2我正在使用and并行执行测试用例Ghost Driver 1.1.0。添加更多测试时会发生以下异常。最初,由于测试次数较少,我没有看到这个异常。

堆栈跟踪:

0 投票
1 回答
873 浏览

javascript - 为什么无法在 GhostDriver / PhantomJSDriver 中禁用 JavaScript?

我想在PhantomJSDriver特定页面上禁用 JavaScript,但是这里的这个链接说这是不可能的,因为“整个 GhostDriver 将变得不可用”。

有人可以解释一下,好像我已经 5 岁了,为什么会这样?

我是否有任何选项可以阻止 PhantomJSDriver 在页面上执行 JavaScript?

0 投票
3 回答
14517 浏览

selenium-webdriver - HtmlUnitDriver (HtmlUnit) vs GhostDriver (PhantomJS)?

我们正在选择我们的无头浏览器驱动程序解决方案,该解决方案将是 Selenium WebDriver 的一些实现。一方面是GhostDriver,它利用后端中的PhantomJS ,另一方面是基于HtmlUnit的HtmlUnitDriver

PhantomJS 使用 Safari 的渲染引擎 WebKit 来渲染页面,而 HtmlUnitDriver 使用其他浏览器不使用的 Rhino 引擎(它只是“模拟”浏览器行为。最后一个事实被认为是一个骗局,因为渲染行为可能与流行的浏览器。

在我们看来,PhantomJS 是一个更强大的候选者。但是,我们并不是一无所知 :) 我们在做出决定时还应该考虑其他因素和权衡吗?HtmlUnitDriver 可以成为更好解决方案的其他场景?

0 投票
1 回答
4382 浏览

java - Java - PhantomJS 和 Selenium - 忽略 SSL 错误

我在使用 SSL 的页面时遇到问题。我很确定这是问题所在,因为我可以访问 http 页面并获取完整的页面源,但是当我访问 https 地址时,会得到以下信息:

我在用:

  • PhantomJS v. 1.9.1
  • GhostDriver v. 1.0.3
  • Java 1.7

我尝试在所需功能上设置 --ignore-ssl-errors=true ,但它似乎不起作用。

我也尝试过使用“PhantomJSDriverService.PHANTOMJS_CLI_ARGS”并添加了 cli 参数“--web-security=false”。在所有情况下,我都可以在控制台中看到类似以下内容,但似乎没有一个真正起作用。

任何想法将不胜感激。