尝试使用 selenium 自动登录时出现错误 500

问题描述

我正在尝试使用 selenium 创建登录机器人,当它登录时返回服务器错误,我不知道这是内部错误还是因为我正在使用机器人。

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import webdriverwait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains

from getpass  import getpass

email= input("Enter your username")
password= getpass("Enter your password: ")

driver=webdriver.Chrome("C:\\Users\\alvar\\env\\ChromeDriver\\chromedriver.exe")
driver.get("https://www.basic-fit.com/on/demandware.store/Sites-BFE-Site/es_ES/Login-Start")

username_textBox = driver.find_element_by_name("email")
username_textBox.send_keys(email)

password_textBox= driver.find_element_by_name('password')
password_textBox.send_keys(password)


login_button = driver.find_element_by_xpath("/html/body/div[1]/div[2]/section[1]/div[2]/form/div[4]/button").submit()

Here's the error

解决方法

你必须click()按钮,而不是submit()


当您 click 时,它会运行 JavaScript 来检查登录名/密码。

当您 submit 时,它不会点击按钮,而是将 form 发送到指定的 url <form action="https://www.basic-fit.com/on/demandware.store/Sites-BFE-Site/es_ES/Login-Submit"...> 并且会出现问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...