Python selenium无法通过ID或xpath填写输入框。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python selenium无法通过ID或xpath填写输入框。相关的知识,希望对你有一定的参考价值。
我有下面的代码。
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait, Select
from selenium.webdriver.common.keys import Keys
if __name__ == '__main__':
path_to_chromedriver = r'C:chromedriver' # change path as needed
browser = webdriver.Chrome(executable_path=path_to_chromedriver)
wait = WebDriverWait(browser, 10)
browser.get("https://pjm.com/")
wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/form/div[3]/div/div[1]/div/div[1]/span[2]"))).click()
wait.until(EC.presence_of_element_located((By.ID, "IDToken1"))).send_keys("user")
wait.until(EC.presence_of_element_located((By.ID, "IDToken2"))).send_keys("pwd")
但是最后两行代码无法执行,我不知道为什么会这样。
答案
我看到 click()
将打开一个新的标签页,在这种情况下,你必须切换到该标签页,然后再继续登录细节。
browser.switch_to.window(browser.window_handles[1])
wait.until(EC.presence_of_element_located((By.ID, "IDToken1"))).send_keys("user")
wait.until(EC.presence_of_element_located((By.ID, "IDToken2"))).send_keys("pwd")
以上是关于Python selenium无法通过ID或xpath填写输入框。的主要内容,如果未能解决你的问题,请参考以下文章
Python:无法找到具有 id 或类名的元素,webdriver 无法找到 id 或类名
Selenium 使用 css、xpath、name、id (python) 找不到任何元素
python selenium,我无法从文本框中找到元素类或 id