Click button by text using Python and Selenium
You can find all buttons by text and then execute click()
method for each button in a for
loop.
Using this SO answer it would be something like this:
buttons = driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")
for btn in buttons:
btn.click()
I also recommend you take a look at Splinter which is a nice wrapper for Selenium.
Splinter is an abstraction layer on top of existing browser automation tools such as Selenium, PhantomJS and zope.testbrowser. It has a high-level API that makes it easy to write automated tests of web applications.
I had the following in html:
driver.find_element_by_xpath('//button[contains(text(), "HELLO")]').click()