首页 > 解决方案 > 在 python 中使用 Selenium 登录网站时出现错误“ElementNotInteractableException”

问题描述

我已经编写了这个脚本来登录耐克网站,selenium.common.exceptions.ElementNotInteractableException当我尝试登录时,由于网站中的弹出消息而出现错误,我尝试了不同的方法但没有任何效果,这是我的代码:

import time
import requests
from selenium import webdriver

r = requests.get('https://www.nike.com/fr/launch?s=in-stock')

url = 'https://www.nike.com/fr/launch/t/air-max-90-pink-foam'

#accountINFO
uid = 'sss@gmail.com'
pwd = 'XXXX'


#boost browser
driver = webdriver.Chrome(executable_path = '//Users/xxxxxx/Desktop/chromedriver')
driver.get(url)
mcookis = driver.find_element_by_xpath("//button[@data-qa='accept-cookies']")
mcookis.click()
time.sleep(1)

memberLogin = driver.find_element_by_xpath("//button[@data-qa='top-nav-join-or-login-button']")
memberLogin.click()
time.sleep(1)

#Login
elem = driver.find_element_by_xpath("//input[@type='email']")
elem.send_keys(uid)

elem = driver.find_element_by_xpath("//input[@type='password']")
elem.send_keys(pwd)
login_submit = driver.find_element_by_xpath("//input[@value='CONNEXION']")
#time.sleep(1)
login_submit.click()

通常在提交运行后我应该访问该站点,但是当我手动键入 pswd 时,我收到一条错误消息,它正在工作。

标签: pythonseleniumselenium-webdriverselenium-chromedriver

解决方案


不确定我有没有你的问题。如果问题是弹出窗口,只需使用 selenium 将其关闭,单击“关闭”或“x”,然后搜索登录按钮。还要确保在搜索新元素之前等待几秒钟,例如

driver.find_element_by_xpath('//*[@id="login"]').click(), time.sleep(5)

推荐阅读