亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python selenium xpath 后代

Python selenium xpath 后代

一只甜甜圈 2023-04-18 15:23:30
有誰知道如何通過以下方式獲得按鈕:svg[@aria-label='Like']這是屏幕截圖:我嘗試了各種組合......沒有任何效果。我解決了://button[@class='wpO6b ']但我不想再使用它了。所以我的嘗試://button[@class='wpO6b ']/descendant::svg[@aria-label='Like']//button[@class='wpO6b' and descendant::svg[@aria-label='Like']]//button[@class='wpO6b ']//svg[@aria-label='Like']謝謝閱讀!編輯:我想點擊按鈕元素。
查看完整描述

3 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

xpath在您的代碼中嘗試以下-

driver.find_element_by_xpath('//*[local-name()="svg" and @aria-label="Like"]/parent::span/parent::div/parent::button').click()

希望它能檢測到按鈕。讓我知道結果。


查看完整回答
反對 回復 2023-04-18
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

為什么這些不起作用:


//button[@class='wpO6b ']/descendant::svg[@aria-label='Like']

//button[@class='wpO6b ']//svg[@aria-label='Like']

您選擇svg元素而不是按鈕。您必須將svg部分放在謂詞中。


//button[@class='wpO6b' and descendant::svg[@aria-label='Like']]

class這個幾乎不錯,但是由于元素的屬性中有一個空格,所以button它不起作用??梢允褂胏ontains此處更安全的功能對其進行相應修復:


//button[contains(@class,'wpO6b') and descendant::svg[@aria-label='Like']]

選擇按鈕的另一種方法(使用ancestor軸和更強大的謂詞):


//svg[@aria-label="Like" and @fill="#262626"]/ancestor::button[1][contains(@class,"wpO6b")]

如果您正在處理namespaces,請使用以下表達式:


//*[local-name()='button'][contains(@class,'wpO6b') and descendant::*[local-name()='svg'][@aria-label='Like']]



查看完整回答
反對 回復 2023-04-18
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

你可以寫 xpath:

//svg[@aria-label='Like']/ancestor::button[1]


查看完整回答
反對 回復 2023-04-18
  • 3 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號