簡體   English   中英

如何使用 Python Selenium Chrome 驅動程序抓取每個特定的時間?

[英]How to scrape every specific amount of time with Python Selenium Chrome Driver?

情況:有一個網站要求我每隔 x 秒從中抓取一次信息。 有問題的站點有需要我輸入的信息,因此我決定使用 go 和 Selenium。操作流程如下:用戶可以單擊瀏覽器部分或與網站交互,Selenium 瀏覽器將每隔一段時間抓取一條特定的信息x 秒。

我試過什么?:

  • driver.wait(對於任何類型的元素或特定時間); 不幸的是,這不起作用,因為我沒有瀏覽器應等待的特定元素。
  • time.sleep(0.5) 在 while True 循環中; 這不起作用,因為抓取和處理部分(可能同時運行)也需要時間,這次 time.sleep(0.5) 可能會關閉幾秒鍾。
  • 我考慮創建一個 Google Chrome 插件,它可以執行操作並將該信息發送到負責的 Python 腳本,盡管這超出了它應有的努力,因此我決定反對它。

總而言之,我如何每隔固定時間從 Selenium Chrome 驅動程序 session 中抓取信息?

您可以簡單地等待開始和結束時間之間的差異。 您還需要確保您的時間大於您的程序所花費的時間。 在這里使用 5,所以如果您的程序運行需要 1 秒,那么它將等待 5-1=4 秒。 這確實會導致浮動值有所不同,因此您可以切換到 int 並進行 0-1 秒的檢查。

import time
while True:
    now = time.time()
    time.sleep(1)
    later = time.time()
    difference = (later - now)
    print(difference)
    driver.implicitly_wait(5-difference)

暫無
暫無

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

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