我正在嘗試show-more-less-html__markup使用 selenium 和 Python 從下面的示例中獲取元素 ' ' 中的所有文本:

這是我的嘗試:
description = browser.find_element_by_xpath("//div[@class='show-more-less-html__markup']").text
uj5u.com熱心網友回復:
這不是 Python
browser.findElement(By.className("description__text description__text--rich")).getText();
是爪哇。
你在混合東西...
uj5u.com熱心網友回復:
請檢查dev tools(谷歌瀏覽器)我們是否有唯一的條目HTML DOM。
您應該檢查的 xpath :
//div[@class='show-more-less-html__markup']
檢查步驟:
Press F12 in Chrome- >去element節- >做一個CTRL F- >再貼上xpath看看,如果你需要的element是越來越強調與1/1匹配的節點。
如果我們有 1/1 匹配節點,請確保:
- 此 div 不在 iframe 下。
- 此 div 不在 shadow-root 下。
- 您不應該在 selenium 啟動的新選項卡/視窗上。
一旦我們確定我們有唯一的條目并且其他條件也匹配,我們可以嘗試通過以下方式提取文本:
代碼試用1:
try:
msg = WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='show-more-less-html__markup']"))).text
print(msg)
except:
pass
代碼試用2:
try:
msg = WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='show-more-less-html__markup']"))).get_atrribute('innerHTML')
print(msg)
except:
pass
代碼試用3:
try:
msg = WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='show-more-less-html__markup']"))).get_attribute('innerText')
print(msg)
except:
pass
進口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/350236.html
