透過WebDriverWait 利用類別規格
在涉及透過JavaScript 載入動態內容的網站的網頁抓取專案中,將Selenium 庫與Python整合可以提高效率透過允許控制元素識別和載入。這使得可以在繼續抓取之前等待特定元素被渲染。
但是,當涉及按類別而不是 ID 指定元素時,使用 EC.presence_of_element_ located((By.ID, "myDynamicElement")) 會呈現挑戰。為了解決這個問題,By.class 不能與多個類別名稱一起使用,從而導致錯誤。
解決方案
若要克服此限制並按類別有效指定元素,請考慮使用其他WebDriverWait ExpectedConditions方法,例如visibility_of_element_ located()或此外,使用CSS_SELECTOR 或XPATH 允許組合ID 和CLASS 屬性以進行精確識別:
CSS_SELECTOR:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located( (By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion"))
請記住,最合適的解決方案取決於您專案的特定要求以及網站的 HTML 結構。
以上是如何使用 WebDriverWait 和 Selenium 在動態網頁中按類別定位元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!