簡體   English   中英

如何識別chromedriver.exe?

[英]How to identify chromedriver.exe?

我有一些 RPA 進程,它們使用 ChromeDriver 連接到由其遠程調試端口標識的特定 Chrome 實例和用於 chrome 的自定義命令參數,它將特定的 chrome 實例標識為“來自我的程序”。

我有一個使用 Selenium ChromeDriver 的程序。 我不讓 ChromeDriver 創建 Chrome 實例,而是重新使用現有的實例。 因此,當我的程序啟動時,它可以找到我想要使用的特定 Chrome,並將新的 ChromeDriver 連接到它。 問題是,有時 ChromeDriver 會卡住,因為我沒有退出就退出了(這是開發工作 - 事情發生了!)

我希望能夠以某種方式標記由我的程序啟動的 ChromeDriver。 標記 Chrome 實例很容易——我只是傳入任何唯一的參數,它很高興地接受它,就像在“--originator=me”中一樣,然后我可以瀏覽 chrome 進程,獲取他們的命令行並知道哪個 Chrome 是礦。 但我不知道如何用 ChromeDriver 做到這一點。 以下是我沒有奏效的想法:

  1. 將命令行參數傳遞給 chromedriver,但我在此過程中看到的唯一參數是“port=12345”

  2. 獲取我剛剛創建的 chromedriver 的進程 ID。 但是我不知道如何向新驅動程序詢問這個問題,即使我可以訪問它。

關於如何識別我的進程創建的 chromedriver 的任何想法,假設我的程序稍后將查找此特定實例?

您可以使用 ChromeDriverService 創建一個 ChromeDriver,然后為該服務提供一個 LogPath。 該 LogPath 可以是標識符,只要它是一個有效的文件名。 像這樣:

var svc = ChromeDriverService.CreateDefaultService();
svc.LogPath = LogPath
ChromeOptions options = new ChromeOptions();
driver = new ChromeDriver(svc, options);

然后如果要查找特定的 ChromeDriver,只需使用此命令行參數查找 windows 進程即可。 在這種情況下,我們真的不關心該文件本身的內容,只關心魔術詞現在可以通過編程方式發現的事實。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM