当前位置: 首页 > 面试题库 >

查找Selenium WebDriver启动的浏览器进程的PID

蒯卓君
2023-03-14
问题内容

在C#中,我启动了一个浏览器进行测试,我想获取PID,以便在Winforms应用程序中可以杀死启动的所有剩余Ghost进程。

driver = new FirefoxDriver();

如何获取PID?


问题答案:

看起来更像是C#问题,而不是特定于Selenium。

这是一个非常古老的不确定性答案,如果您想尝试此方法,请重新考虑。

我的逻辑是,firefox使用Process.GetProcessesByName方法获取具有名称的所有进程PID
,然后启动FirefoxDriver,然后再次获取进程的PID,比较它们以获取刚刚启动的PID。在这种情况下,特定驱动程序已启动多少个进程无关紧要(例如,Chrome启动多个进程,Firefox仅启动一个进程)。

using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Firefox;

namespace TestProcess {
    [TestClass]
    public class UnitTest1 {
        [TestMethod]
        public void TestMethod1() {
            IEnumerable<int> pidsBefore = Process.GetProcessesByName("firefox").Select(p => p.Id);

            FirefoxDriver driver = new FirefoxDriver();
            IEnumerable<int> pidsAfter = Process.GetProcessesByName("firefox").Select(p => p.Id);

            IEnumerable<int> newFirefoxPids = pidsAfter.Except(pidsBefore);

            // do some stuff with PID if you want to kill them, do the following
            foreach (int pid in newFirefoxPids) {
                Process.GetProcessById(pid).Kill();
            }
        }
    }
}


 类似资料:
  • 我想获得由Selenium启动的浏览器的PID。有什么办法能搞定吗?

  • 问题内容: 我刚接触selenium。我生成了我的第一个Javaselenium测试用例,它已成功编译。但是当我运行该测试时,我得到了以下RuntimeException 请告诉我如何解决此错误。 这是我要运行的Java文件。 我首先通过命令提示符启动了selenium服务器,然后通过另一个命令提示符执行了上述java文件。 第二个问题:我可以右键单击包含selenium的网页上的指定位置。 问题

  • 问题内容: 我正在尝试找到Selenium RC浏览器启动器的完整列表。到目前为止,我还找不到任何列出它们的文档。我从各种来源收集了以下内容。 iexplore-启动IE firefox-启动Firefox Safari启动Safari opera-启动Opera googlechrome-启动Google Chrome chrome-启动具有增强的安全性特权的特殊Firefox配置文件,以绕过J

  • 问题内容: 抱歉,您有愚蠢的问题,但是如何在webdriver中启动Chrome浏览器?我知道我必须指定chromedriver.exe的路径。问题是我无法下载chromedriver.exe,它已被删除。我发现的文件也没有.exe扩展名。我正在使用Eclipse,Java。请帮忙!我按照建议的步骤进行了所有操作,但是没有用。这是我的代码: 这是错误: 失败:测试java.lang.Illegal

  • 问题 你想通过脚本启动浏览器并打开指定的URL网页 解决方案 webbrowser 模块能被用来启动一个浏览器,并且与平台无关。例如: >>> import webbrowser >>> webbrowser.open('http://www.python.org') True >>> 它会使用默认浏览器打开指定网页。如果你还想对网页打开方式做更多控制,还可以使用下面这些函数: >>> # Ope

  • 我对詹金斯真的很陌生。今天我安装并尝试玩。当然我丢了一把钥匙。 我的环境:java-version java version“1.6.0\u 24”OpenJDK Runtime environment(IcedTea6 1.11.4)(rhel-1.49.1.11.4.el6\u 3-x86\u 64)OpenJDK 64位服务器虚拟机(构建20.0-b12,混合模式) tomcat6型 Cen