无法找到表单提交按钮

时间:2019-02-25 02:28:50

标签: python selenium automation

option = ChromeOptions()
chrome_prefs = {}
driver = Chrome(chrome_options=option) #getting the web driver object
try:
    url="https://www.groupon.fr/merchant/center/"
    driver.get(url)
    driver.maximize_window()
    email="xyz"
    password="abc"
    email_box=WebDriverWait(driver,10).until(lambda x: x.find_element_by_id("emailInput"))
    email_box.send_keys(email)
    password_box=WebDriverWait(driver,10).until(lambda x: x.find_element_by_id("passwordInput"))
    password_box.send_keys(password)
    attempts=0
    while True:
        try:
            submit = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CLASS_NAME,"submitButton button-primary button-cta")))
            driver.execute_script("arguments[0].click();", submit)
            break
        except:
            traceback.print_exc(file=sys.stdout)
            attempts+=1
            if (attempts>3):
                raise Exception("Error")
            continue
finally:
    driver.quit()

输出

  

回溯(最近通话最近):文件   “”,第22行,在提交=   WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CLASS_NAME,“ submitButton   button-primary button-cta“)))文件   “ C:\ Users \ sheik \ Anaconda2 \ lib \ site-packages \ selenium \ webdriver \ support \ wait.py”,   第80行,直到引发TimeoutException(消息,屏幕,堆栈跟踪)   TimeoutException:消息:

我实际上是在尝试登录此页面,并且在填写电子邮件和密码后,尽管我使用了正确的按钮类名,但是找不到提交按钮。我也从xpath尝试过,但是没有成功。

我的代码有什么问题?The html of the page

1 个答案:

答案 0 :(得分:1)

我的新计算机上尚未安装硒,但是您可以使用CSS selectors进行搜索。 我知道示例代码不是python,但是您应该能够找出相应的python代码。

编辑。请尝试以下操作:

submit = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,".submitButton.button-primary.button-cta")))