簡體   English   中英

無法在 selenium 和 Z23EEEB4347BDD26BFC6B7EE9A3B75 中使用 xpath 的元素 select

[英]unable to select an element using xpath in selenium and python

我一直在嘗試 xpath 的元素 select 並顯示它,但每次嘗試運行代碼時都會出錯。 我通過檢查元素並復制完整的 xpath 得到了 xpath,但它給了我錯誤。 它也是一種動態形式,因此我無法選擇直接文本,並且我可能需要使用地址來定位該元素,因為它每次都會更改,但我無法 select 那個特定元素。 如何選擇元素?

這就是我嘗試選擇元素的方式

name_from_doc=browser.find_element_by_xpath('/html/body/form/div[3]/div[3]/div/div[4]/div/div[2]/div[4]/div[2]/text()[1]')
print(name_from_doc)

我得到的錯誤是

InvalidSelectorException: Message: invalid selector: The result of the xpath expression "/html/body/form/div[3]/div[3]/div/div[4]/div/div[2]/div[4]/div[2]/text()[1]" is: [object Text]. It should be an element.

我想將人名分別存儲在兩個不同的變量中

在此處輸入圖像描述

由於Billing Address文本將始終存在,因此可以通過使用 xpath 中的文本到達那里,然后通過使用 xpath 中的following找到其確切值。
你可以這樣做:

name_from_doc = browser.find_element_by_xpath("//div[contains(text(),'Billing Address')]//following::div[1]//br[2]")
print(name_from_doc.text)

要獲取值NAPERVILLE IL使用以下 xpath 獲取元素,然后使用splitlines()和最后一個索引值。

name_from_doc=browser.find_element_by_xpath('//div[contains(.,"Billing Address")]/following::div[1]').text
print(name_from_doc.splitlines()[-1])

更新

name_from_doc=browser.find_element_by_xpath('//div[contains(.,"Billing Address")]/following::div[1]').text
print(name_from_doc.splitlines()[0])
print(name_from_doc.splitlines()[1])
print(name_from_doc.splitlines()[-1])

暫無
暫無

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

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