问题标签 [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.
javascript - 使用 selenium 单击浏览器的确认框
我的程序遇到确认框时失败。我需要单击该确认框才能继续。我无法深入研究它的 Html(使用萤火虫)左右。有人请让我知道如何处理这种情况?即使这样也没有用
Selenium Web 驱动程序:使用 Java 处理确认框
提前致谢
python - 在后台使用 Selenium
我正在使用 Selenium 和 chrome webdriver,但是当我运行脚本时,它会打开一个窗口。有什么方法可以在不弹出窗口的情况下访问互联网?
例如,这会转到我学校的年级网站并输入用户名和密码,但如果可能的话,我希望在不弹出浏览器的情况下执行此操作。
testing - 使用 PHPUnit 的 Ghostdriver
我正在尝试使用 PhantomJS 作为 PHPUnit Selenium 测试的浏览器。
我已将 Selenium 设置为在网格模式下运行,并使用 webdriver 启动 phantomjs,并将其注册到网格中,如GhostDriver 自述文件中所示。
当我运行 selenium 测试时,它因未知命令错误而失败 - GhostDriver 只是不明白 PHPUnit 在说什么。
在GhostDriver 网站上提出了同样的问题,但没有得到答复,并建议归咎于 PHPUnit。情况可能是这样,但我仍然没有更接近完成这项工作。有谁知道如何解决它?
scrapy - 如何禁用或更改 ghostdriver.log 的路径?
问题很简单,但一些上下文可能会有所帮助。
我正在尝试在使用 selenium 和 phantomjs 作为下载器时部署scrapy。但问题是它在尝试部署时一直说权限被拒绝。所以我想改变 ghostdriver.log 的路径或者只是禁用它。查看 phantomjs -h 和 ghostdriver github 页面我找不到答案,我的朋友 google 也让我失望了。
python-2.7 - 如何为工作人员分配需要用户名 - 密码和自定义用户代理的代理?
如何使用 Selenium、带有 Python 绑定的 PhantomJS 驱动程序为工作人员分配需要用户名 - 密码和自定义用户代理的代理。
我在创建许多遍历我的测试网站的工作人员方面取得了很好的成功。我还可以分配不需要授权的用户代理或代理。但我还没有想出如何同时对同一个工人做这两个。
然而,目前真正的问题是为需要用户名和密码授权的工作人员分配一个代理。
玩家:Selenium 2.33.0 / PhantomJS 1.9.1 / Python 2.7.3 / Ubuntu 12.04
我:努比。Python 周,Linux 日,Selenium 小时,PhantomJS -= ,SO 第一篇文章
搜索结果: 如何在 python webdriver 中为 phantomjs/ghostdriver 设置代理?
答案实际上可能就在那里,而且我已经阅读和重新阅读了许多其他地方,但我无法以我目前的水平将这些点联系起来。
用户代理用这种方法解决。
未经授权的代理适用于此:
如果使用上述两种方法,我不确定如何将代理和 UA 都传递给 PhantomJS 驱动程序。ATM 我只能使用需要授权的代理来执行其中一项操作,而根本无法执行此操作。
此 SO 线程的目标:
- 了解如何分配需要用户名/密码的代理
- 将自定义用户代理分配给同一工作人员。
使用 Selenium、带有 Python 绑定的 PhantomJS 驱动程序。
最终游戏目标是为每个工作人员分配一个唯一的 ip 并从用户代理池中提取。为此创建逻辑我仍然保持乐观,但授权代理目前正在踢我。
正如你所知道的,我对这一切都很陌生,并且会感谢任何有关此特定问题的帮助和示例。
谢谢!
编辑:下面接受的答案不正确。无法重现以下解决方案。仅将具有授权的代理分配给驱动程序。仍然无法将代理和用户代理分配给同一个驱动程序。
任何帮助或方向将不胜感激。
EDIT.02:问题已解决。这从来都不是编码问题。服务器级别的新代理提供程序分配了覆盖上述脚本的默认 UA。一旦这个被删除,一切都很好。
java - 使用 PhantomJS 和 GhostDriver 从 WebDriver 或 RemoteWebDriver 进行网络监控
我希望通过 WebDriver/RemoteWebDriver 使用 PhantomJS 来监控和测试整个页面加载过程中的网络活动。我已经做到了 PhantomJS 可以做 Chrome 或 Firefox 可以做的所有事情——加载页面、访问 DOM 等等。
但是,我不确定从这里去哪里才能像我在 JavaScript PhantomJS 示例中看到的那样访问请求和响应 HTTP 标头。GhostDriver Javadocs 似乎没有提及它。
有人做过吗?
java - 在现有元素上执行 javascript 时,GhostDriver 抛出陈旧异常“缓存中不存在元素”
由于存在过时异常的问题,GhostDriver 正在冒泡某些内容在上次执行后发生了更改。
在这个 { Random “Element is no longer attach to the DOM” StaleElementReferenceException } 问题上,有超过 16k 的视图,有人在讲述竞争条件和测试时发生的变化,但我的代码执行速度如此之快,以至于我无法相信发生了变化.
我什么都没改变,所有代码执行速度都很快,也许页面本身在测试片段执行的小时间范围内发生了变化。
没问题并且myLibWorks.findElements(..
返回元素,它使用FluentWait<SearchContext>
然后方法返回时元素可用。
它抛出:
缓存中不存在元素
当我尝试在元素上执行 javascript 之后。
这是我的 Java 代码的简化片段:
Request => {"headers":{"Accept":"application/json, image/png","Connection":"Keep-Alive","Content-Length":"84" 导致缓存中不存在元素,"Content-Type":"application/json; charset=utf-8","Host":"127.0.0.1:4444"},"httpVersion":"1.1","method":"POST","post ":"{\"args\":[{\"ELEMENT\":\":wdc:1371656598440\"}],\"script\":\"返回参数[0].innerHTML\"}"," url":"/execute","urlParsed":{"anchor":"","query":"","file":"execute","directory":"/","path":"/execute “,“相对的”:”/execute","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol": "","source":"/execute","queryKey":{},"chunks":["execute"]},"urlOriginal":"/session/efc7cf60-d8f6-11e2-9f07-192e7e451712/execute"命令持续时间或超时:736 毫秒有关此错误的文档,请访问:chunks":["execute"]},"urlOriginal":"/session/efc7cf60-d8f6-11e2-9f07-192e7e451712/execute"} 命令持续时间或超时:736 毫秒有关此错误的文档,请访问:chunks":["execute"]},"urlOriginal":"/session/efc7cf60-d8f6-11e2-9f07-192e7e451712/execute"} 命令持续时间或超时:736 毫秒有关此错误的文档,请访问: http://seleniumhq.org/exceptions/stale_element_reference.html构建信息:版本:'2.32.0',修订:'6c40c18',时间:'2013-04-09 17:22:56' 系统信息:os.name : 'Linux', os.arch: 'i386', os.version: '3.8.0-19-generic', java.version: '1.7.0_21' 会话 ID: efc7cf60-d8f6-11e2-9f07-192e7e451712 驱动程序信息: org.openqa.selenium.remote.RemoteWebDriver Capabilities [{platform=LINUX, acceptSslCerts=false, javascriptEnabled=true, browserName=phantomjs, rotatable=false, driverVersion=1.0.3, locationContextEnabled=false, version=1.9.0, cssSelectorsEnabled =true,databaseEnabled=false,handlesAlerts=false,browserConnectionEnabled=false,proxy={proxyType=direct},nativeEvents=true,webStorageEnabled=false,driverName=ghostdriver,applicationCacheEnabled=false,TakeScreenshot=true}]} =======
selenium - 最佳无头网络引擎
我正在做一个项目,我需要将无头 Web 引擎作为服务进行通信——这意味着我需要 Web 引擎作为守护进程运行,并通过某个接口与其通信。
我一直在使用 PhantomJS + GhostDriver。它有效,但执行速度非常慢。由于奇怪的错误,它在许多情况下也失败了。(例如,我无法通过 ghostdriver 导航到 amazon.com,因为由于某种原因它无法识别页面加载何时完成,因此调用永远不会返回)。
对于我正在尝试做的事情,是否有更强大的解决方案?
selenium-webdriver - Selenium、PhantomJS、Mocha 组合在 sendKeys 命令上失败
我已经为浏览器中的自动化单元测试实现了以下技术堆栈。
摩卡 -> 硒 -> Phantomjs
我按照这个例子:
我怀疑 Selenium 和 PhantomJs 之间的“发送密钥”命令中可能存在错误。我对这两种技术没有任何经验,所以我怀疑是我犯了一些配置错误。
基本上发生的情况是 Selenium 发送的字符并非全部由 PhantomJs 应用。
我用 Firefox 切换了 PhantomJs,它就像一个魅力。
2 个驱动程序的 Selenium 输出完全相同。所以我怀疑 PhantomJs 或 Ghostdriver 中存在错误。但正如我所说,可能只是我没有正确配置东西。鉴于这是一个相当大的问题,我真的怀疑是这种情况。
如果这确实是一个错误,我也不能 100% 确定在哪里记录。
java - 在 Selenium 中使用 JavascriptExecutor 进行 PhantomJS 测试
我有使用 Selenium 的 JavascriptExecutor 用 Java 编写的现有测试。使用常规驱动程序可以正常通过这些测试。但是现在我正在尝试使用 PhantomJS 驱动程序 + GhostDriver 来无头运行这些测试。似乎 JavascriptExecutor 没有运行并返回一个值。这是 PhantomJS/GhostDriver 的限制,还是驱动程序需要我缺少的参数来执行脚本。我有
在我的设置方法中设置。虽然我相信从 1.9 开始 Javascript 默认是启用的。那么这件作品对 GhostDriver 根本不起作用还是我缺少什么?