您的登录按钮xPath
不正确。这将起作用:
//button[@type = 'submit']/span
完整的代码是:
from selenium import webdriver
import time
driver = webdriver.Chrome('location to chrome driver')
driver.get('https://www.flipkart.com/')
driver.maximize_window()
driver.implicitly_wait(15)
time.sleep(10)
driver.find_element_by_class_name('_2zrpKA').send_keys(username)
driver.find_element_by_xpath('//input[@type = "{}"]'.format('password')).send_keys(Password)
driver.find_element_by_xpath("//button[@type = 'submit']/span").click()
您还可以使用以下命令代替硬编码暂停WebDriverWait
:
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
import time
driver = webdriver.Chrome('location to chrome driver')
driver.get('https://www.flipkart.com/')
driver.maximize_window()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, "_2zrpKA"))).send_keys("username")
driver.find_element_by_xpath('//input[@type = "{}"]'.format('password')).send_keys("password")
driver.find_element_by_xpath("//button[@type = 'submit']/span").click()
这将执行得更快。更多信息可以在这里找到。