日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python动态网页爬虫技巧Selenium(一)

發布時間:2025/4/16 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python动态网页爬虫技巧Selenium(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

implicitly_wait() 跟 WebdriverWait()的區別

  • 相同點:
  • 這兩個東西,都是為了在測試網頁的時候進行等待的
  • 一方面是都可以完成對于動態數據的等待和爬取。(都是一旦完成就直接溜掉~)
  • 不同點:
  • 前者是隱式等待,后者是顯式等待??赡苡腥艘獑枀^別了。區別很簡單。implicityly_wait()只需要使用一次,之后關于這個DOM文檔樹(好像是這個中文),中的任何一個元素,都會有這樣的一個隱式等待。但是對于后者,就是每次使用的時候都需要自己再設置一次時間。
  • 后者使用更為靈活一些,可以配合selenium自身的很多庫來進行設置,前者就比較簡單,如果沒有什么特別的要求的話,用前面的那種就可以了~

下面也展示兩者的使用方法:

  • 隱式
from selenium import webdriverif __name__ == '__main__':dr = webdriver.Chrome()dr.get("http://www.baidu.com")dr.implicitly_wait(10) # 這里~element = dr.find_element_by_id("su")print(element)dr.quit()pass
  • 顯式(配合多種庫一起用,更靈活,也更麻煩)
from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWaitif __name__ == '__main__':dr = webdriver.Chrome()dr.get("http://www.baidu.com")wait = WebDriverWait(dr, 10) # 設置某個空間等待10秒這個事件element = wait.until(EC.element_to_be_clickable((By.ID, "su"))) # 直到檢測到某個事件前一直等待print(element)dr.quit()pass

總結

以上是生活随笔為你收集整理的Python动态网页爬虫技巧Selenium(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。