使用 Selenium 页面提交表单后只需重新加载

时间:2021-07-09 22:22:13

标签: python selenium selenium-webdriver

我正在尝试使用 Selenium 登录 American Express website。此脚本将用于自动下载报表。

但是,我的功能适用于大多数网站,但不适用于美国运通登录表单。它正确填写表单并提交,但它不会转到报表页面,而是重新加载登录页面。但是当我手动填写表单并提交时,它工作正常。

为什么会这样?

这是我的登录功能。

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

def login_by_id(username, password, username_id, password_id, login_button_id, driver):
    # wait for form to be visible to Selenium
    username_input = WebDriverWait(driver, 5).until(lambda x: x.find_element(By.ID, username_id))

    # fill in form
    username_input.send_keys(username)
    password_input = driver.find_element_by_id(password_id)
    password_input.send_keys(password)

    # click on login button
    login_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, login_button_id)))
    login_button.click()

0 个答案:

没有答案