Python Selenium如何输入登录ID

2024-09-30 01:27:43 发布

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

我是selenium新手,需要帮助将登录信息输入站点。Chrome开发者页面呈现:

<input name="ctl00$cntPlcHldrContent$txtUsrID" type="text" maxlength="16" id="ctl00_cntPlcHldrContent_txtUsrID" class="textbox" style="text-transform: uppercase;">

我尝试登录的站点是 我使用的代码如下:

username = WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"input[name='ctl00$cntPlcHldrContent$txtUsrID']")))
username.click()
username.clear()
username.send_keys(USERNAME)

然而,我得到的错误是:

Traceback (most recent call last):

  File "xxxxxxxxxxxxxxxxxx.py", line 32, in <module>
    username = WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"input[name='ctl00$cntPlcHldrContent$txtUsrID']")))

  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)

TimeoutException

我做错了什么


Tags: totextnameinput站点driverseleniumusername
1条回答
网友
1楼 · 发布于 2024-09-30 01:27:43

登录名位于iframe元素后面。谢谢你,昆都克。我设法改用了它,它成功了


driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="p_p_id_56_INSTANCE_vIXmop9dU8iD_"]/div/div/div[1]/div[1]/iframe'))

username = WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.ID,"ctl00_cntPlcHldrContent_txtUsrID")))
password = WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.ID,"ctl00_cntPlcHldrContent_txtUsrPwd")))

username.click()
username.clear()
username.send_keys(USERNAME)
password.click()
password.clear()
password.send_keys(PASSWORD)

相关问题 更多 >

    热门问题