我在以下代碼片段中有名為upgrade-test="secondary-pull mktg-data-content的自定義屬性:
<section class="dvd-pull tech-pull-- secondary-pull--anonymous tech-pull--digital secondary-pull--dvd-ping tech-pull--minimise" upgrade-test="secondary-pull mktg-data-content" data-js="primary-pull" style="--primary-direct-d_user-bottom-pos:-290px;">
我可以通過執行以下操作成功識別我的元素:
element = driver.find_element(By.XPATH, "//section[contains(@upgrade-test, 'mktg-data-content')]")
mktg-data-content每次用戶轉到不同的頁面時,這都會改變,例如它可能是sales-data-content銷售頁面等。
我所追求的是找到一種方法來檢索此自定義屬性的動態文本并將其傳遞給我的變數。任何幫助將不勝感激。謝謝
uj5u.com熱心網友回復:
您需要使用獲取屬性值element.get_attribute("upgrade-test"),然后需要進行字串操作。
elementval = driver.find_element(By.XPATH, "//section[contains(@upgrade-test, 'secondary-pull')]").get_attribute("upgrade-test")
print(elementval.split(" ")[-1])
注意:- 用空格分隔,回傳從零開始的串列,索引-1表示串列的最后一個值,因為串列中有兩個元素,您也可以使用它
print(elementval.split(" ")[1])
uj5u.com熱心網友回復:
您需要為該元素找到一個唯一的定位器。
沒有看到那個頁面我們只能猜測,所以我可以猜測tech-pull--digital和secondary-pull--dvd-ping類名是一個獨特的組合。
如果是這樣,您可以使用以下代碼:
attribute_val = driver.find_element(By.CSS_SELECTOR, "section.tech-pull--digital.secondary-pull--dvd-ping").get_attribute("upgrade-test")
print(attribute_val.split(" ")[-1])
這里的第一行定位元素并檢索所需的屬性值,而第二行隔離所需屬性值的第一部分,如 KunduK 所述
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/517187.html
上一篇:無法將預期型別“樹a3”與實際型別“a”匹配“a”是受型別簽名系結的剛性型別變數
下一篇:訊息:沒有這樣的元素:無法找到元素SeleniumPython:{"method":"xpath","selector":"//i
