I am using selenium to record testcases in firefox. It records a button click/or any action for that matter like below,
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_id("ctl00__mainContent_lnkforgotpassword").click()
driver.find_element_by_id("ctl00__mainContent_ucForgotPassword1_btnNext").click()
Here the driver makes use of the find_element_by_id method to access the element and it works great.
But my requirement is to find this Id given just the text of that element, like -
If Forgot Password is a link and I want to retrieve the ID of this link, I would modify the about code as,
driver.find_element_by_id(getID("Forgot Password")).click().
So is there a way to write getId() function so as to retrieve the ID of the link Forgot Password (Or Id of some Label/Button in other cases) from the current open page?
There is no way to retrieve the ID (or any attribute) directly the way you mentioned.
But, you can find any attribute/property of a web element once you find that web element only.
do as follows:
elem = driver.find_element_by_link_text("Forgot Password") / returns Web Element, store it in some variable.
print elem.get_attribute("id")
print elem.get_property("id") // or use get_property
Reference:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With