我想知道如何使用 Selenium 和 Python 3 從網站中提取文本。我不知道文本是什么,所以我不能只查找句子并復制它。這是一個示例螢屏截圖:示例問題。知道在這種情況下,我正在尋找 1 之后的少量文本。但它僅由 ::header 表示,所以我很難抓住它。有任何想法嗎?謝謝!我從中提取的網站也是Quia。
謝謝!
uj5u.com熱心網友回復:
很難直接回答,因為這個 Web 示例在登錄之后。一般來說,您可以使用需要有關 xml/html 樹的資訊的 xpath 運算式(例如,在使用 Chrome 或 Firefox 時,PC 鍵盤上的 F12 按鈕下可用。從背景關系滑鼠選單中的“檢查”也是一種方式)。在同一服務器的登錄頁面上獲取歡迎文本的示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
def s_obj(sel_drv, xph):
return sel_drv.find_elements(by=By.XPATH, value = f"{xph}")
def s_text(sel_drv, xph):
els = s_obj(sel_drv, xph)
return '; '.join(el.text.replace('\n', '; ')\
for el in els).strip(';').strip() if els else ''
test_url = "https://www.quia.com/web"
sel_drv = webdriver.Chrome()
sel_drv.get(test_url)
bs_xph = "//*/table/tbody/tr/td[@colspan=\"5\"]/h1[@class=\"home\"]"
expected_txt = s_text(sel_drv, f"{bs_xph}[1]")
print(expected_txt)
sel_drv.quit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/483219.html
上一篇:了解InnoDB死鎖日志
