簡體   English   中英

如何在Python中使用Selenium從具有隱藏元素的動態折疊表中提取數據

[英]How to extract data from dynamic collapsing table with hidden elements using Selenium in Python

我嘗試從https://patents.google.com/patent/JP2009517369A/en?oq=JP2009517369抓取這20個分類,從中顯示第一個,其他隱藏在可擴展的部分中。

我已經嘗試過用

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='style-scope classification-tree' and not(@hidden)]/state-modifier[@class='code style-scope classification-tree']/a[@class='style-scope state-modifier']"))).get_attribute("innerHTML") 

但是,這引發了一個異常,我不知道為什么。 因此,我認為刮刮整個表格會更容易,但是大多數元素都折疊了。

有什么方法可以抓取動態隱藏表嗎? 謝謝您的幫助!

前兩個選項應打印值C07C311/51

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='style-scope classification-tree' and not(@hidden)]/state-modifier[@class='code style-scope classification-tree']/a[@class='style-scope state-modifier']"))).text)

要么

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='style-scope classification-tree' and not(@hidden)]/state-modifier[@class='code style-scope classification-tree']/a[@class='style-scope state-modifier']"))).get_attribute("innerHTML"))

但是,如果您沒有獲得期望值,請嘗試最后一個,這應該會打印任何隱藏的內容。

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='style-scope classification-tree' and not(@hidden)]/state-modifier[@class='code style-scope classification-tree']/a[@class='style-scope state-modifier']"))).get_attribute("textContent"))

暫無
暫無

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

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