Click button by text using Python and Selenium

前端 未结 3 2126
逝去的感伤
逝去的感伤 2021-01-04 05:30

Is it possible to click multiply buttons with the same text with Selenium?

相关标签:
3条回答
  • 2021-01-04 06:17

    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.

    0 讨论(0)
  • 2021-01-04 06:24

    @nobodyskiddy , Try to use driver.find_element ( if you have single button option ) , use index to click() when you are using driver.find_elements , find_elements will return array to webelement values , so you have to use index to select or click.

    0 讨论(0)
  • 2021-01-04 06:33

    I had the following in html:

    driver.find_element_by_xpath('//button[contains(text(), "HELLO")]').click()
    
    0 讨论(0)
提交回复
热议问题