我正在嘗試通過 selenium(Firefox 驅動程式)從此鏈接獲取 jpg 的檔案名。如果我手動右鍵單擊照片并下載它,檔案名將是1-002.jpg
當我嘗試通過 Firefox 瀏覽 html 時,它顯示1-002.jpg位于 <'head'> <'title'> 部分。由于某種原因,這無法在 chrome 上顯示。
<Head>
<meta name="viewport" content="width=device-width; height=device-height;">
<link rel="stylesheet" href="resource://content-accessible/ImageDocument.css">
<link rel="stylesheet" href="resource://content-accessible/TopLevelImageDocument.css">
<link rel="stylesheet" href="chrome://global/skin/media/TopLevelImageDocument.css">
<title>1-002.jpg (JPEG Image, 1800 × 2546 pixels) — Scaled (40%)</title>
</Head>
但是,我無法獲取文本。到目前為止,我的代碼如下
driver.get(url)
file_name = driver.find_element_by_xpath('/html/head/title')
print(file_name)
我只能得到 <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="384e7def-df66-4f06-9c3a-c5072c2d650f", element="7e0002d0-7bfb-4aed-8558-fdb9c25075d4")>
如果我將其替換為 file_name = driver.find_element_by_xpath('/html/head/title').text,它將不會回傳任何內容。
所以我問我怎樣才能得到想要的文字。
謝謝你。
uj5u.com熱心網友回復:
首先,您必須檢查 HTMLDOM 是否具有唯一條目:
請檢查dev tools(谷歌瀏覽器)我們是否有唯一的條目HTML DOM。
檢查步驟:
Press F12 in Chrome- >去element節- >做一個CTRL F- >再貼上xpath看看,如果你需要的element是越來越強調與1/1匹配的節點。
對于 Firefox,請進行檢查,步驟應保持不變。
如果/html/head/title是 1/1,則問題可能是延遲的原因。
硬編碼睡眠(不推薦)
代碼試用1:
time.sleep(5)
file_name = driver.find_element_by_xpath('/html/head/title').text
print(file_name)
代碼試用2:(推薦)
file_name = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "/html/head/title"))).text
print(file_name)
您可以嘗試的其他內容:
請致電.get_attribute('innerText')或.get_attribute('innerHTML')
而不是.text,像這樣:
使用內部HTML
file_name = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "/html/head/title"))).get_attribute('innerHTML')
print(file_name)
帶有內部文本
file_name = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "/html/head/title"))).text
print(file_name)get_attribute('innerText')
進口:
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/qiye/345988.html
下一篇:無法使用Selenium填寫表單:AttributeError:'WebDriver'objecthasnoattribute'get_element_by_xpath&
