簡體   English   中英

有沒有辦法將 selenium 與 chrome 而不是 chromedriver 一起使用?

[英]Is there a way to use selenium with chrome and NOT chromedriver?

我正在嘗試自動化可以檢測 chromedriver 的網站。 我使用了一個用戶代理,我已經進入並更改了 chromedriver 的 cdc_ 部分,以及其他一些東西。 無論我做什么,它都會檢測到 chromedriver 並且不會做任何事情。

但是,我已經能夠使用子進程並打開我的普通瀏覽器並將 go 的密鑰發送到該網站,並執行一些我需要的操作,所以我知道它可以在我的普通瀏覽器中運行。

有什么方法可以啟動常規 chrome 並將 selenium 附加到它以自動執行任務?

Chromedriver 驅動 chrome。 這不是它自己的瀏覽器。

手動打開 chrome 和 go 到chrome://version/

然后打開你的 webdriver 和 go 到同一個鏈接 您會看到 selenium 在新的/臨時配置文件上啟動 chrome,並啟用更多 arguments。

只是這一行沒有選項driver = webdriver.Chrome()對我來說(在 python 中)啟動帶有一長串命令行 arguments 的 chrome: chrome selenium 命令行參數

由於 selenium 的工作方式,您很可能被檢測到。

這是一篇詳細說明問題和可能嘗試的事情的好帖子: 當您將 selenium 與 chromedriver 一起使用時,網站可以檢測到嗎?

站點可以檢測到 selenium 設置的一些變量。

@Erti-Chris Eelmaa 說得非常好:

selenium 檢測的工作方式是,它們測試預定義的 javascript 變量,這些變量在與 selenium 一起運行時出現。機器人檢測腳本通常會在任何變量中查找包含單詞“selenium”/“webdriver”的任何內容(在 window 對象上) , 以及名為 $cdc_ 和 $wdc_ 的文檔變量。 當然,所有這些都取決於您使用的瀏覽器。 所有不同的瀏覽器都會暴露不同的東西。

您可以禁用 javascript,並通過實驗性標簽禁用“--enable-automation”,但這會影響 selenium 的功能,並且您的腳本可能無法運行。

這可能不是您想聽到的,但是當您處理此內容(使用 selenium)時請記住,該站點旨在停止自動化,因此您將面臨一場艱苦的戰斗。

暫無
暫無

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

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