我试图进入一个特定的链接(在代码中给出)并使用用户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()
尝试使用另一个元素标识符,如
by_xpath
或by_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 EC
和from selenium.webdriver.common.by import By
。在相关问题 更多 >
编程相关推荐