【问题标题】:selenium simple example- error message: can not kill the processselenium 简单示例 - 错误消息:无法终止进程
【发布时间】:2023-04-10 09:58:01
【问题描述】:

我在使用 selenium java 方面非常陌生。我完成了在线教程并运行了一个简单的程序来测试页面是否成功打开。

我不确定为什么会出现这些错误消息。因为我从在线教程中复制并粘贴了代码。

请帮忙!,我不明白出了什么问题..

----程序----

package seleniumPrograms;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
public class Gecko_Driver {
 
    public static void main(String[] args) throws InterruptedException {
        System.setProperty("webdriver.gecko.driver","C:\\Users\\bm-toshiba5\\Softwares\\geckodriver-v0.11.1-win64\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.toolsqa.com");
 
        Thread.sleep(5000);
        driver.quit();
    }
}

----错误信息----

1477634165078 geckodriver INFO 在 127.0.0.1:15694 10 月 28 日收听, 2016 下午 4:56:05 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:尝试双语会话,假设 Postel 的 法律在远端成立 1477634165633 mozprofile::profile INFO 使用配置文件路径 C:\Users\BM-TOS~1\AppData\Local\Temp\rust_mozprofile.lCCcXFkfXvty 1477634165646 geckodriver::marionette INFO 启动浏览器 C:\Program 文件 (x86)\Mozilla Firefox\firefox.exe 1477634166149 geckodriver::marionette INFO 连接到 Marionette on localhost:53137 1477634167869 Marionette INFO 监听端口 53137 1477634170473 木偶信息 startBrowser 2e5153b8-f5ad-4d7b-b974-d8ae27ba7b71 2016 年 10 月 28 日下午 4:56:10 org.openqa.selenium.remote.ProtocolHandshake createSession 信息: 检测到的方言:W3C [子 9388] 警告:管道错误:232:文件 c:/builds/moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, 第 513 行 [子 9388] ###!!!中止:在通道错误时中止。:文件 c:/builds/moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/glue/MessageChannel.cpp, 2052行

!!! [Child][MessageChannel] 错误:(msgtype=0xFA0005,na​​me=PTexture::Msg_Destroy) 频道错误:不能

发送/接收

!!! [Child][MessageChannel] 错误:(msgtype=0xFA0005,na​​me=PTexture::Msg_Destroy) 频道错误:不能

发送/接收

!!! [Child][MessageChannel] 错误:(msgtype=0xFA0005,na​​me=PTexture::Msg_Destroy) 频道错误:不能

发送/接收

!!! [Child][MessageChannel] 错误:(msgtype=0xFA0005,na​​me=PTexture::Msg_Destroy) 频道错误:不能

发送/接收

!!! [Child][MessageChannel] 错误:(msgtype=0x400003,name=PCompositable::Msg_Destroy) 频道错误:

无法发送/接收

.....

2016 年 10 月 28 日下午 4:56:28 org.openqa.selenium.os.UnixProcess destroy 严重:无法使用 PID 5288 终止进程

【问题讨论】:

    标签: java selenium kill


    【解决方案1】:

    您正在使用 drive.quit() 而不是 driver.close()。 quit 关闭驱动程序和窗口。这就是您收到子错误的原因,因为驱动程序不再可用。 close(),将关闭窗口但保持驱动程序活着。我只会在程序的最后使用退出(如清理程序)。我在我的机器上运行了你的代码(在下面修改)并且没有任何错误。另外,你应该把它放在一个 try/catch 周围,这样你就可以看到发生了什么。我使用 selenium 发现 try/catch 有时会显示控制台未显示的错误。我在早期的项目中有类似的东西,try catch 有助于调试。

    package com.kurt.stackoverflow.selenium;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    public class Gecko_Driver
    {
        public static void main(String[] args) throws InterruptedException{
    
        try
        {
           System.setProperty("webdriver.gecko.driver","C:\\tmp\\geckodriver-v0.11.1-win64\\geckodriver.exe");
           WebDriver driver = new FirefoxDriver();
           driver.get("http://www.toolsqa.com");
           Thread.sleep(5000);
           driver.close();
        }
        catch (Exception e)
        {
           System.out.println("Caught message " + e.getMessage());
           driver.close();
        }
    }
    

    }

    【讨论】:

    • 你好 sunpack,谢谢你的回答,你的方法我试过了,还有两件事没搞定,所以想再请教一下。 1. driver.close();在 catch 中有一个错误说驱动程序没有定义。 2. 我使用了 driver.close(),但是,它并没有像我预期的那样关闭浏览器,如果我想在 5 秒后关闭页面,我应该怎么做?非常感谢!
    • drive.close() 不会关闭浏览器只是为了firefox驱动,当我使用chrome时,很好,不知道可能是什么问题?
    • driver.close() 是首选方法,并且在这些年后仍然有效!
    猜你喜欢
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 2014-12-19
    • 2020-12-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    相关资源
    最近更新 更多