What is the best way to find a button text inside using Selenium in Python?
Oh, I’ve got a fair bit of experience in this area. Yeah, using CSS selectors with the contains()
pseudo-class is one way to go. But you know, it’s not always the most reliable across different browsers, keep that in mind.
button = driver.find_element_by_css_selector("button:contains('Submit')")
Absolutely! Expanding on that, XPath with the text()
function is another solid option, especially when you’re dealing with unique button text.
button = driver.find_element_by_xpath("//button[text()='Submit']")
Right, and if you’re in a situation where button text isn’t unique or you’re dealing with multiple buttons with the same text, using find_elements()
and then filtering through them can be handy.
buttons = driver.find_elements_by_tag_name("button")
for button in buttons:
if button.text == "Submit":
button.click()
break