簡體   English   中英

使用 ChromeDriver 運行計划任務

[英]Run a scheduled task with ChromeDriver

我制作了一個基於 Selenium 和 Chromedriver 的腳本。 基本上是一個登錄網站的程序。 寫一條評論(來自計算機的 txt 文件)然后關閉程序,不,它不是垃圾郵件腳本,而是我剛剛從 python 和 selenium 開始制作的腳本。

如果我手動啟動程序,程序本身運行良好。 然后就沒有問題了,chromedriver 是無頭的,因為我不需要查看整個過程chrome_options.add_argument("--headless")

然后我從這里看到了一個帖子調度 Python 腳本

我確實遵循了它設置

但我遇到的問題是,每次都是時間,程序開始了。 它出現了腳本,然后是我設法打印的快速錯誤

錯誤

我可以看到 Chromedriver 存在問題。 事情就是現在。 如何使此腳本在 Chromedriver 在后台運行的情況下完成計划任務。 我可能做錯了設置,但程序手動運行,所以我猜 Windows 計划任務可能有問題?

基本上我只希望腳本每隔 xx:xx 時間在后台運行。

如果需要更多信息,請隨時發表評論。

    chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument('--disable-notifications')
chrome_options.add_argument("--headless")
chrome_options.add_argument("--user-agent=Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.implicitly_wait(5)

您使用的驅動程序太舊,無法識別 ChromeHeadless,您需要使用 2.29 或更高版本:

Selenium ChromeDriver 無法識別新編譯的 Headless Chromium (Python)

我遇到了同樣的問題(使用較新的“無頭”版本),解決方案是將 Windows 計划任務作為“管理員”(使用“s”)運行。

我遇到了這個問題,幾乎放棄了任務調度程序並開始編寫將運行我的網絡抓取應用程序的 Windows 服務。 如果您遇到異常 chrome unreachable 或 chrome 沒有從 HTTP 服務器獲得響應...

這使我的應用程序甚至可以通過任務調度程序工作。

任務計划程序 -> 繼續任務 -> 屬性 -> 條件 > 在網絡下 -> 僅當以下網絡連接可用時才檢查網絡啟動 -> 選擇“任何連接”。

從這篇文章windows-10-task-scheduler-not-running 開始

在 Chrome 中使用 selenium 時,您必須確保您的 selenium 版本與您安裝的 chrome 版本兼容。 如果您讓應用程序運行,然后更新您的 chrome,您可能會收到無法識別的版本錯誤。

如果您像我一樣擁有 chrome v 102.0,則需要獲取與您的瀏覽器版本相同的最新 selenium chrome 驅動程序。

請參見下面的示例:

鉻版

Chrome 驅動下載: https ://chromedriver.chromium.org/downloads Chrome 驅動下載

暫無
暫無

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

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