Search code examples
pythonselenium-webdriverinputclicksubmit

Using Selenium to click a input type submit button


Trying to click this

<input type="submit" value="Log In" class="btn btn-lg btn-primary btn-block">

I have tried

driver.find_element("class", "btn").click()

driver.find_element("class", "btn btn-lg btn-primary btn-block").click()

driver.find_element("value", "Log In").click()

But all give error

InvalidArgumentException: Message: invalid argument: invalid locator

How can I click on this?

EDIT:

now ive tried

driver.find_element(By.CLASS_NAME, "btn btn-lg btn-primary btn-block").click()

but get error

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".btn btn-lg btn-primary btn-block"}

Solution

  • Try using "By"

    from selenium.webdriver.common.by import By
    

    And you can select your element it in different ways:

    By Class:

    driver.find_element(By.CLASS_NAME, "btn btn-lg btn-primary btn-block").click()
    

    By XPATH:

    driver.find_element(By.XPATH, '//input[@value="Log In"]').click()
    

    By CSS selector:

    driver.find_element(By.CSS_SELECTOR, 'input.btn.btn-lg.btn-primary.btn-block').click()
    

    reference: https://selenium-python.readthedocs.io/locating-elements.html