我应该如何修复python代码中的NoSuchElementException错误?

2024-05-05 00:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图进入一个特定的链接(在代码中给出)并使用用户id和密码登录。登录后,我想点击一个名为“查看所有xxx评论”的按钮。我用硒来完成这个任务。不幸的是,我得到一个错误说。在

**回溯(最近一次呼叫): 文件“C:/Users/xxxx/.PyCharmEdu2018.1/config/scratchs/scratch_2.py”,第16行,英寸 用户名框=driver.find_element_id('emailInput-input')

在selenium.common.异常.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“id”,“selector”:“emailInput input”} (会话信息:chrome=67.0.3396.99) (驱动程序信息:chromedriver=2.40.565498(ea082db3280dd6843ebfb08a625e3eb905c4f5ab),平台=Windows NT 10.0.17134 x86_64)**

这是我的代码:

from selenium import webdriver
from getpass import getpass
from selenium.webdriver.support.ui import WebDriverWait

`
usr = input('enter your user name : ')
psd = input('enter the password : ')

url = "https://www.coursera.org/courses?authMode=login&languages=en&query=big+data&userQuery=big+data"

# create a new Chrome session
driver = webdriver.Chrome()
driver.get(url)

username_box = driver.find_element_by_id('emailInput-input')
username_box.send_keys(usr)

pass_box = driver.find_element_by_id('passwordInput-input') #FHSU
pass_box.send_keys(psd)


login_btn = driver.find_element_by_xpath('//*[@id="authentication-box-content"]/div/div[2]/div/div[1]/form/div[1]/button/span')
login_btn.submit()

driver.find_element_by_xpath('//*[@id="ratings"]/div[2]/button').click()

Tags: 代码fromimportdivboxidinputby
1条回答
网友
1楼 · 发布于 2024-05-05 00:32:45

尝试使用另一个元素标识符,如by_xpathby_class_name。可能是@raviraja说的,元素可能还没有加载。您已经导入了WebDriverWait,只需使用WebDriverWait(driver, 10).until(EC.presence_of_element_located(By.ID, 'emailInput-input'))之类的东西。在

只需确保导入from selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import By。在

相关问题 更多 >