簡體   English   中英

與硒多線程find_element

[英]multithreading find_element with selenium

我試圖通過多線程腳本中耗時更多的部分(主要是定位器調用)來減少執行時間。

但是,我不斷從兩個線程獲取“ CannotSendRequest”和“ ResponseNotReady”異常。

這是因為我使用了相同的http句柄嗎?

input_worker = threading.Thread(name="input_worker", target=find_input_fields, args=(form, args, logger))
input_worker.setDaemon(True)
select_worker = threading.Thread(name="select_worker", target=find_select_fields, args=(form, logger))
select_worker.setDaemon(True)

thread_pool.append(input_worker)
thread_pool.append(select_worker)

在find_input_fields函數中,類似

input_fields = form.find_elements_by_tag_name("input")

硒每個線程占用1個cpu內核。 Selenium Webdriver不建議使用多線程。 考慮如果您有一個4核心系統,則可以運行4個與每個核心鏈接的硒獨立線程。 當您創建2個線程時,您將從這兩個線程中獲取異常。

費耶

是否可以在python中並行化Selenium Webdriver get_attribute調用?

暫無
暫無

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

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