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

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

Python + Selenium --如何查找動態元素

Python + Selenium --如何查找動態元素

揚帆大魚 2021-09-28 15:54:07
我是硒的新手。我正在嘗試單擊一個元素,HTML 結構如下所示:<label>     <span> text </span></label>我需要單擊 下的“文本” <span>,整個內容在另一個 span/div/body 等內,我正在嘗試使其動態化,以便我也可以使用不同的文本找到它。我正在使用以下代碼:[...]vote = input("Which option should I vote for you? :  ")option = "//label/span[contains(.,'" + vote + "')]\""option = str(option)[...]browser.find_element_by_xpath(option).click()
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

額外的雙引號使您的 xpath 無效-這里是這個,轉義的一個:

 "')]\""

option字符串被構造,所述的xpath結束

//label/span[contains(.,'text')]"

,"最后打破它的地方。

放下它,你會好起來的:

option = "//label/span[contains(.,'" + vote + "')]"

您不必強制轉換option為字符串 - 它已經是這種類型。此外,這種字符串構造方式 - 使用字符串格式 - 更“pythonic”:

option = "//label/span[contains(.,'{}')]".format(vote)


查看完整回答
反對 回復 2021-09-28
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

您可以使用 CSS Selector,但是在不知道 DOM 其余部分的結構的情況下,這可能不夠獨特,無法可靠地獲取您想要的元素:

find_element_by_css_selector("label span")


查看完整回答
反對 回復 2021-09-28
  • 3 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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