[英]Get Text By Using Selenium WebDriver
我有以下 HTML 頁面,我正在使用 python 下的 Selenium 從頁面 HTML 中提取一些數據
<span id="_ctl0_ContentPlaceHolder1_MyGrid__ctl2_ProductID2">050215-5g</span>
span id="_ctl0_ContentPlaceHolder1_MyGrid__ctl2_PriceBox2">$12.00</span>
我想獲取“050215-5g”和“$12.00”作為文本,我使用了
pdt = div.find_elements_by_xpath('//*[contains(@id, "ProductID2")]')
price = div.find_element_by_xpath('//*[contains(@id, "PriceBox2")]')
當我打印“pdt”和“價格”時,它返回
[<selenium.webdriver.remote.webelement.WebElement (session="da68ddac08948eab06fe7dedb51cbc85", element="8541d2ad-398c-4a04-baba-a982559da408")>, <selenium.webdriver.remote.webelement.WebElement (session="da68ddac08948eab06fe7dedb51cbc85", element="942ca30b-e779-48d0-91f7-23261aea67c5")>, <selenium.webdriver.remote.webelement.WebElement (session="da68ddac08948eab06fe7dedb51cbc85", element="81bd8036-17d0-4aba-a8a1-454842396d9a")>, <selenium.webdriver.remote.webelement.WebElement (session="da68ddac08948eab06fe7dedb51cbc85", element="ecf3064a-bae2-46b1-85a5-d111bbd8f7f6")>]|<selenium.webdriver.remote.webelement.WebElement (session="da68ddac08948eab06fe7dedb51cbc85", element="8541d2ad-398c-4a04-baba-a982559da408")>|<selenium.webdriver.remote.webelement.WebElement (session="da68ddac08948eab06fe7dedb51cbc85", element="95e82bff-f7c9-40c4-aee4-4e95e850c6f1")>
我也試過
pdt = div.find_elements_by_xpath('//*[contains(@id, "ProductID2")]').text
price = div.find_element_by_xpath('//*[contains(@id, "PriceBox2")]').text
它給了我“AttributeError:'list'object 沒有屬性'text'”
誰能幫我解決這個問題? 謝謝!
無論您的元素是什么,都是一個列表。 錯誤很明顯。 即使列表是 1 個元素,您也需要打印第一個元素。 IE,
print(elements[0].text)
# ^ Grab the first element
例如:
elements = div.find_element_by_xpath('//*[contains(@id, "PriceBox2")]')
print(elements[0].text)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.