簡體   English   中英

如何從指定的 XPATH 中找到所有元素,但接受帶有 Selenium 的稍微可變的 ID?

[英]How can I find all elements from a specified XPATH but accept slightly variable IDs with Selenium?

所以我試圖讓所有元素都像這樣,除了 ccid 之后的數字可以是任何東西

//*[@id="ccid_4587719"]/td[12]/text()[1]

下面的這段代碼幾乎得到了我喜歡的元素,但它也提取了兩個額外的元素,我不確定如何對其進行編碼以僅獲得上面顯示的元素(我談到的例外情況除外):

classnames = driver.find_elements_by_xpath('//*[starts-with(@id, "ccid")]/td[12]')

上面的代碼(類名變量)幾乎是完美的,但我不希望它拉出這些元素:

//*[@id="ccid_4587719"]/td[12]/a[2]
//*[@id="ccid_4587719"]/td[12]/text()[3]

基本上,我想要每個 ID 下的第一個元素。 如果您需要澄清,請告訴我。 我會盡力解釋。

所以你有幾乎正確的 xpath,你只需要指出你只需要第一次出現的元素?

   //*[startsWith(@id, 'ccid_')]/td[12]/text()[1]

如果適合您,您也可以嘗試其中一種:

   //*[startsWith(@id, 'ccid_')]/td[12]/*[1]/text()
   //*[startsWith(@id, 'ccid_')]/td[12]//text()[1]

為了給你准確的答案,我們需要看看 td[12] 的 html 結構

暫無
暫無

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

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