在下面的代码片段中,我有一个名为*Upgrade-test=“Second-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
,等等。
我想要的是找到一种方法来检索此自定义属性的动态文本,并将其传递给我的变量。任何帮助都将不胜感激。谢谢
2条答案
按热度按时间yx2lnoni1#
您需要使用
element.get_attribute("upgrade-test")
获取属性值,然后需要进行字符串操作。注意:-用空格分割,返回从零开始的列表,索引
-1
表示列表的最后一个值,因为列表中有两个元素,您也可以使用print(elementval.split(" ")[1])
ljsrvy3e2#
您需要为该元素找到唯一的定位器。
没有看到那个页面,我们只能猜测,所以我可以猜测
tech-pull--digital
和secondary-pull--dvd-ping
类名是一个唯一的组合。如果是这样的话,您可以使用以下代码:
这里的第一行用于定位元素并检索所需的属性值,而第二行用于隔离所需属性值的第一部分,如kunduk所述