selenium-webdriver - 硒暂停代码在控制台中给出错误
问题描述
使用火狐浏览器(最新)。
此代码有效,但最后当我使用 try 使用 2 秒线程暂停浏览器时出错 - 请参阅 try catch 部分:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.service.DriverService;
public class TestSection6_36_rediff {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.gecko.driver", "C:\\work\\BROWSER DRIVERS\\geckodriver-v0.29.1-browserV88-32bit.exe");
FirefoxOptions opt = new FirefoxOptions();
opt.setBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
WebDriver driver = new FirefoxDriver(opt);
driver.get("https://rediff.com");
driver.findElement(By.cssSelector("a[title*='Sign in']")).click();
driver.findElement(By.cssSelector("input#login1")).sendKeys("my test input");
// this unchecks "Keep me signed in"
driver.findElement(By.cssSelector("label.lblkeepme")).click();
driver.findElement(By.cssSelector("input[id*='password']")).sendKeys("my password");
driver.findElement(By.xpath("//input[contains(@value,'Sign')]")).click();
//print out error for incorrect password:
System.out.println("output:" + driver.findElement(By.cssSelector("div[class*='div_login']")).getText());
**// Sleeps 2 seconds so we can see browser interaction.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}**
driver.close();
driver.quit();
}
}
- - - - - - - - - - - - - - - - 错误信息:
1621066424739 geckodriver INFO 监听 127.0.0.1:33971 1621066425574 mozrunner::runner INFO 运行命令:“C:/Program Files (x86)/Mozilla Firefox/firefox.exe” “--marionette” “-foreground” “-no-remote " "-profile" "C:\Users\artist\AppData\Local\Temp\rust_mozprofileSilGYE" 1621066426280 Marionette INFO Marionette 已启用 console.warn: SearchSettings: "get: 不存在设置文件,新配置文件?" (新错误(“”,“(未知模块)”)) 1621066428870 Marionette INFO 在端口 56130 上侦听 1621066428962 Marionette WARN TLS 证书错误将被忽略此会话 2021 年 5 月 15 日上午 1:13:49 org.openqa.selenium。 remote.ProtocolHandshake createSession INFO:检测到的方言:W3C 输出:错误的用户名和密码组合。
###!!![Child][RunMessage] 错误:通道关闭:发送/接收来不及,消息将丢失
线程“主”org.openqa.selenium.NoSuchSessionException 中的异常:尝试在未建立连接的情况下运行命令构建信息:版本:'3.141.59',修订:'e82be7d358',时间:'2018-11-14T08:25: 48'系统信息:主机:'HLAP',ip:'172.16.0.127',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'15.0 .2' 驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 88.0.1, javascriptEnabled: true, moz:accessibilityChecks: false, moz:buildID: 20210504152106, moz:geckodriverVersion : 0.29.1, moz:headless: false, moz:processID: 5672, moz:profile: C:\Users\artist\AppData\Loc..., moz:shutdownTimeout: 60000, moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, platformVersion: 6.1, rotatable: false, setWindowRect: true, strictFileInteractability: false, 超时: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior:解雇并通知} 会话 ID:f0430570-72cc-434d-a62d-b5dfb624b0fc at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl .java:64) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) 在 java. base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) 在 org.openqa.selenium。remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) 在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) 在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode( W3CHttpResponseCodec.java:49) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa .selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:609) at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java :452) 在 Testing123.main(Testing123.java:44)在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 解码(W3CHttpResponseCodec.java:122) .openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:609) 在 org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:452) 在 Testing123.main(Testing123.java:44)在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 解码(W3CHttpResponseCodec.java:122) .openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:609) 在 org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:452) 在 Testing123.main(Testing123.java:44)DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:609) at org .openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:452) 在 Testing123.main(Testing123.java:44)DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:609) at org .openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:452) 在 Testing123.main(Testing123.java:44)
解决方案
推荐阅读
- ios - 我应该怎么做才能根据所选的语言环境正确显示日期?
- jboss - How application server handle multiple requests to save data into table
- arangodb - 如何在 ArangoDB 中列出递归路径
- android - 如何在调用另一个应用程序时更新 getIntent()
- r - 基于另一列的最小值和最大值并结合 r
- spring-boot - 如何使用 thymeleaf 将 id 传递给模态
- php - 如何循环通过json数据php
- windows - Windows Server 上的任务计划程序失败
- api - 如何验证嵌套 JSON 响应
- amazon-ecs - nats.io 在发现路由时如何解析域?