Issue
I have the custom attribute called upgrade-test="secondary-pull mktg-data-content in the following code snippet:
<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;">
I am able to identify my element successfully by doing the following:
element = driver.find_element(By.XPATH, "//section[contains(@upgrade-test, 'mktg-data-content')]")
This mktg-data-content
gets changed every time a user goes to a different page for example it could be sales-data-content
for the sales page etc.
What I am after is to find a way to retrieve this dynamic text of this custom attribute and pass it to my variable. Any help would really be appreciated. Thanks
Solution
You need to fetch the attribute value using element.get_attribute("upgrade-test")
and then need to do string manipulation.
elementval = driver.find_element(By.XPATH, "//section[contains(@upgrade-test, 'secondary-pull')]").get_attribute("upgrade-test")
print(elementval.split(" ")[-1])
Note:- splitted with space,which returns zero based list, index -1
means the last value of the list,
since you have two elements in the list you can use this as well
print(elementval.split(" ")[1])
Answered By - KunduK
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.