问题标签 [geckodriver]

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 投票
1 回答
158 浏览

selenium - Webdriver 3.0.0-beta3 无法与浏览器交互

我正在研究硒自动化。今天我更新了我的 pom 文件以获得最新的依赖项。

在此之后,我的测试都没有在浏览器上运行。假设 Firefox 的版本为 48,它会打开,但 webdriver 没有与浏览器交互。我得到的错误日志是:

这是我今天早上在 64 位机器上将 jre 和 jdk 更改为 32 位后遇到的新错误

0 投票
1 回答
816 浏览

firefox - 如何在使用 Selenium Webdriver 3.0 beta4 时绕过/忽略 Firefox 48 中的不受信任的证书错误

我正在尝试在加工的 RD 上使用 Selenium stanalone 3 beta4.jar + FireFox48 + Geckodriver,以下是我观察到的问题:

i) 我无法绕过或忽略以下应用程序的证书安全错误是我正在使用的代码。

ii)我想根据用户输入调用自定义或默认的 firefox 配置文件,但这也不起作用如果我从 Jenkins(linux 机器)触发自动化套件,我观察到每次触发套件时它都会创建一个新的 FireFox 配置文件,而不是调用我从 Code 传递的默认值或自定义值。但是,如果我从安装在 Windows 机器上的 Eclipse 调用相同的测试套件,则会根据代码选择 firefox 配置文件值。

注意:我正在使用远程桌面来执行我的测试套件,这意味着我的应用程序将在 RD 上被调用,并且所有执行都将发生在那里,只有调用部分我可以从 Jenkins(Linux 机器)执行。

下面是我正在使用的一段代码:

0 投票
0 回答
280 浏览

selenium - 使用 Geckodriver 在 VM 上进行 Selenium 测试

嗨,我一直在尝试在虚拟机上运行测试。我浏览了互联网,没有一个解决方案对我有用。

我想在 Windows 虚拟机上打开 Firefox。这是我的代码:

我在虚拟机上遇到的错误是:

在我的电脑上,我只在控制台上看到它试图连接节点但它失败了:

在 Eclipse 中:

你知道为什么这不起作用吗?我应该检查什么?

0 投票
1 回答
852 浏览

java - 将 Selenium 与 Mozilla 的 GeckoDriver 一起使用时,未发现 CircularOutputStream 类异常

我在使用 Java Selenium Firefox geckodriver 时遇到了问题。这是问题所在:

*操作系统:Windows 7

*Selenium 版本:Selenium 3.0.0 beta4

*爪哇:8

*壁虎驱动程序:v0.10.0

错误消息:线程“main”中的异常 java.lang.NoClassDefFoundError: org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:56) 处 org.openqa.selenium 的 org/openqa/selenium/remote/internal/CircularOutputStream .firefox.FirefoxBinary.(FirefoxBinary.java:52) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92) 在 tools.Cadencie.LoginCad(Cadencie.java:24) 在 tools.Cadencie.main( Cadencie.java:73) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java .lang.reflect.Method.invoke(Method.java:498) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 引起:java.lang.ClassLoader.loadClass(ClassLoader.java: java.net.URLClassLoader.findClass(URLClassLoader.java:381) 的 java.lang.ClassNotFoundException: org.openqa.selenium.remote.internal.CircularOutputStream 424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 还有 10 个

代码:

我认为这可能是版本不一致的问题。因为我有另一个使用 maven 的自动化项目 selenium 2.52.0.. 但不确定这是否会导致问题。这次我没有使用maven。只需尝试创建一个 JAVA GUI 程序(工具包)。

0 投票
2 回答
4555 浏览

java - 配置失败:@BeforeClass 设置和配置失败:@AfterClass 拆解 java.lang.NullPointerException 错误

我正在使用 selenium 3.0.0-beta4 版本。试图在我的项目中配置 geckoDriver 的设置。我将 Maven 和 TestNG 与 java 一起使用。

}

这是输出:

1476438749160 geckodriver INFO 监听 127.0.0.1:39530 2016 年 10 月 14 日下午 3:52:29 org.openqa.selenium.remote.ProtocolHandshake createSession

信息:尝试双语会话,假设 Postel 定律在远程端成立

1476438749613 mozprofile::profile INFO 使用配置文件路径 C:\Users\HOSSAI~1.MAH\AppData\Local\Temp\rust_mozprofile.e9aWwalq9rWK

1476438749656 geckodriver::marionette INFO 启动浏览器 C:\Program Files\Mozilla Firefox\firefox.exe

1476438749683 geckodriver::marionette INFO 连接到 localhost:61519 上的 Marionette 2016 年 10 月 14 日下午 3:52:32 org.openqa.selenium.remote.ProtocolHandshake createSession

信息:回退到直接 W3C 远程端连接

1476438752490 mozprofile::profile INFO 使用配置文件路径 C:\Users\HOSSAI~1.MAH\AppData\Local\Temp\rust_mozprofile.D6FkME6daU3V

1476438752499 geckodriver::marionette INFO 启动浏览器 C:\Program Files\Mozilla Firefox\firefox.exe

1476438752535 geckodriver::marionette INFO 连接到 localhost:61527 上的 Marionette 2016 年 10 月 14 日下午 3:52:37 org.openqa.selenium.remote.ProtocolHandshake createSession

信息:回退到原始的 OSS JSON Wire 协议。1476438757062 mozprofile::profile INFO 使用配置文件路径

C:\Users\HOSSAI~1.MAH\AppData\Local\Temp\rust_mozprofile.FHKHmYIM3lXI

1476438757069 geckodriver::marionette INFO 启动浏览器 C:\Program Files\Mozilla Firefox\firefox.exe

1476438757127 geckodriver::marionette INFO 连接到 localhost:61557 上的 Marionette

[Utils] 尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\Default suite\Default test.xml

[Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\Default 套件存在:true

配置失败:@BeforeClass 设置 org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。所需功能 = 功能 [{marionette=true, browserName=firefox, version=, platform=ANY}],所需功能 = 功能 [{}]

构建信息:版本:'未知',修订:'3169782',时间:'2016-09-29 10:24:50 -0700' 系统信息:主机:'XYZ',ip:'101.140.178.123',操作系统。名称:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_102'

驱动程序信息:驱动程序版本: org.openqa 的 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:80) 的 FirefoxDriver.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141) 的 org.openqa .selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:602) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver .java:242) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:129) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:247) 在 org.openqa.selenium.firefox。 FirefoxDriver.(FirefoxDriver.java:235) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:230) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:226) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:124) 在 SeleniumAutomation.GoogleSignupAutomation.GmailSignupAutomation.setUp(GmailSignupAutomation.java:39) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper. java:100) 在 org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515) 在 org.testng.internal.Invoker.invokeConfigurations(Invoker.java:216) 在 org.testng.internal.Invoker.invokeConfigurations(Invoker .java:143) 在 org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:169) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 在 org.testng.TestRunner.privateRun(TestRunner.java:746) 在 org.testng.TestRunner.run(TestRunner.java:600) 在org.testng.SuiteRunner.runTest(SuiteRunner.java:366) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) at org.testng.SuiteRunner .run(SuiteRunner.java:268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG. java:1264) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1189) 在 org.testng.TestNG.runSuites(TestNG.java:1104) 在 org.testng.TestNG.run(TestNG.java:1076) 在org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG。java:126) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:152) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:57)

配置失败:@AfterClass tearDown java.lang.NullPointerException at SeleniumAutomation.GoogleSignupAutomation.GmailSignupAutomation.tearDown(GmailSignupAutomation.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100) at org.testng.internal。 Invoker.invokeConfigurationMethod(Invoker.java:515) 在 org.testng.internal.Invoker.invokeConfigurations(Invoker.java:216) 在 org.testng.internal.Invoker.invokeConfigurations(Invoker.java:143) 在 org.testng.internal .TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:217) 在 org.testng。internal.TestMethodWorker.run(TestMethodWorker.java:115) at org.testng.TestRunner.privateRun(TestRunner.java:746) at org.testng.TestRunner.run(TestRunner.java:600) at org.testng.SuiteRunner.runTest (SuiteRunner.java:366) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) 在 org.testng.SuiteRunner.run(SuiteRunner.java: 268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1264) at org. testng.TestNG.runSuitesLocally(TestNG.java:1189) at org.testng.TestNG.runSuites(TestNG.java:1104) at org.testng.TestNG.run(TestNG.java:1076) at org.testng.remote.AbstractRemoteTestNG .run(AbstractRemoteTestNG.java:126) 在组织。testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:152) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:57)

跳过:testGoogleAccountLoginForm

配置失败:2,跳过:0

================================================= 默认套件总计测试运行:1,失败:0,跳过:1 配置失败:2,跳过:0

[TestNG] org.testng.reporters.XMLReporter@3b938003 花费的时间:50 毫秒 [TestNG] org.testng.reporters.EmailableReporter2@475e586c 花费的时间:12 毫秒 [Utils] 尝试创建 D:\Projects\Automation\GoogleSignupAutomation \test-output\old\Default suite\toc.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite exists: true [Utils] Attempting to create D:\Projects\Automation\ GoogleSignupAutomation\test-output\old\Default suite\Default test.properties [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite exists: true [Utils] Attempting to create D:\Projects\ Automation\GoogleSignupAutomation\test-output\old\Default suite\index.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default 套件存在:true [Utils] 正在尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite\main.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default 套件存在: true [Utils] 正在尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite\groups.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite存在:true [Utils] 正在尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite\classes.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default套件存在:true [Utils] 正在尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite\reporter-output.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default 套件存在:true [Utils] Attempting to create D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite\methods-not-run.html [ Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default 套件存在:true [Utils] Attempting to create D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default suite\testng.xml .html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old\Default 套件存在:true [Utils] Attempting to create D:\Projects\Automation\GoogleSignupAutomation\test-output\old\index.html [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\old 存在:true [TestNG] org.testng.reporters.SuiteHTMLReporter@780cb77 花费的时间:95 毫秒 [Utils] 尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\junitreports\TEST-SeleniumAutomation.GoogleSignupAutomation.GmailSignupAutomation.xml [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\junitreports 存在:true [TestNG] 组织花费的时间.testng.reporters.JUnitReportReporter@3a079870:106 毫秒 [TestNG] org.testng.reporters.jq.Main@17c1bced 花费的时间:241 毫秒 [Utils] 尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\ testng-failed.xml [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output 存在:true [Utils] 正在尝试创建 D:\Projects\Automation\GoogleSignupAutomation\test-output\Default suite\testng-failed。 xml [Utils] 目录 D:\Projects\Automation\GoogleSignupAutomation\test-output\Default 套件存在:true [TestNG] [FailedReporter 通过=0 失败=0 跳过=0] 花费的时间:8 毫秒

0 投票
2 回答
1610 浏览

java - Geckodriver 未在 Mac OS X 上启动

在 Swing + Selenium 3.0.0-beta 中编写了 Java 8 + GUI(从 Web 获取一些数据)应用程序(IDE:Intellij Idea),导出到.jar - 它在安装了 JRE 的 Windows 10、Windows 7 上正常工作. 不幸的是,我必须在 Mac 上启动它- 它启动,但出现错误:

我在我的项目中找到了一个线索:

它不适用于 geckodriver.exe 或 geckodriver for Mac。您能否针对该问题提供任何解决方案或解决方法?

0 投票
5 回答
8305 浏览

python-3.x - Selenium 3 Firefox .click() 不工作

由于我升级到最新的 Selenium 版本,我的 Firefox 驱动程序无法正常工作。无法通过搜索 Google/Stack 找到答案我希望这里有人有答案。

我已经构建了一个页面对象模型,用于登录网页、单击管理站点并填写用户名/密码 + 提交。此代码是为 Selenium 2.53.6 编写的,但仍适用于 IE 和 Chrome。对我来说失败的部分是这行代码:

定位器是:

既然它在 IE 和 Chrome 中工作,那么 Firefox 不能再让我感到困惑.click()了吗?

我的控制台中没有收到错误消息,它只是没有单击管理站点按钮。这可能与 Selenium 3/geckodriver 的给定 Firefox 版本有关吗?

所有驱动程序都是最新的pip

我正在使用这个网站来练习我的 Selenium: http: //phptravels.com/demo/

编辑(1):我已经尝试使用 Firefox 版本 48 和 49 - 仍然无法正常工作

编辑 (2): geckodriver 配置了 Firefox 二进制文件,但是驱动程序仍然没有执行.click()

编辑(3):我使用 is_displayed() 检查 xpath 定位器是否存在该元素并返回True. 所以我知道它可以找到元素。

编辑(4):1)按照建议尝试使用 Nightly 构建,但不起作用。2) 尝试使用 find_element_by_link_text,也不起作用。3) 尝试了各种版本的 geckodriver(10.0、11.0、11.1 用于所有版本的 32 位和 64 位)

编辑 (5):每次测试用例失败时,“Firefox 的插件容器已停止工作”都会持续生成。

编辑(6):问题的可能解决方案:我在另一个网站上做了另一个测试,Firefox 成功执行了 .click()。在 .click() 失败的第一个目标网页上,有一个巨大的 javascript 会在您打开页面时运行。这可能会破坏 geckodriver 在 javascript-heavy 页面上执行 .click() 的能力。

编辑 (7):使用 .send_keys(Keys.RETURN) 和 Keys 库可以工作,但如果您使用 POM,可能需要额外的重新配置。明确地做一些 time.sleep 会让你周围,但现在使用 Selenium 3 + Firefox/geckodriver 进行网络浏览器自动化仍然很脆弱。如果您需要测试 Firefox,请降级到上一个稳定版本 (2.53.6)(注意:最新版本的 Firefox 将无法使用)。

0 投票
8 回答
24315 浏览

java - Selenium 3.0 Firefx 驱动程序失败并出现 org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话

Selenium 3.0 Firefx 驱动程序失败并出现 org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。

0 投票
0 回答
334 浏览

selenium-webdriver - 在远程服务器上使用 Python3 运行 Selenium - 错误 NotADirectory,Gecko 不在 PATH 上

我在让 selenium 与 python3 一起运行时遇到了这个问题。第一个是当我这样做时:

我收到错误 geckodriver 不是 PATH。我从https://github.com/mozilla/geckodriver/releases下载了 geckodriver然后创建一个名为 gecko 的目录并执行

我重复声明 webdriver 的过程,然后出现此错误:

文件“”,第 1 行,在文件“/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/webdriver.py”中,第 135 行,在init self.service.start() 文件中“ /usr/local/lib/python3.4/dist-packages/selenium/webdriver/common/service.py”,第 64 行,在 start stdout=self.log_file, stderr=self.log_file) 文件“/usr/lib/ python3.4/subprocess.py",第 859 行,在init restore_signals,start_new_session) 文件 "/usr/lib/python3.4/subprocess.py",第 1457 行,在 _execute_child 中引发 child_exception_type(errno_num, err_msg) NotADirectoryError: [Errno 20]不是目录

我已经安装了 xvfb 来运行无头浏览器并发出命令 xvfb-run python3 来启动 python 交互式 shell。我对为什么继续收到此错误消息感到困惑。

我该如何解决?非常感谢您的帮助。

谢谢。

0 投票
1 回答
492 浏览

java - 在线程“main”java.lang.IllegalStateException 中获取错误异常

我是 selenium web 驱动程序的新手,在编译脚本以在 MACOS 中打开新浏览器时。我收到此错误:

请帮忙解决这个问题......