首页 > 解决方案 > Selenium 找不到元素,即使它们存在

问题描述

我正在创建一个简单的 selenium 脚本来输入用户名和密码以登录。这是我的代码:

driver = webdriver.Chrome(executable_path=r'C:\\Users\\Aspire5\\Downloads\\chromedriver_win32\\chromedriver.exe')
driver.get("https://ven02207.service-now.com/")

username = driver.find_element_by_xpath('//*[@id="user_name"]')
username.send_keys('username')

password = driver.find_element_by_xpath('//*[@id="user_password"]')
password.send_keys('this_is_password')

但我得到以下异常:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="user_name"]"}

我正在从代码访问这个网站。我在代码中提供的 XPath 存在于页面上,但它仍然返回No Such Element Exception.

我在这里缺少什么?我已经看到了这个这个问题,但找不到确切的答案。

标签: pythonseleniumselenium-chromedriver

解决方案


你需要先切换到框架..因为input标签在框架内

frame = driver.find_element_by_xpath('//*[@id="gsft_main"]')
driver.switch_to.frame(frame)
driver.find_element_by_id('user_name').send_keys('sarthak')
driver.find_element_by_id('user_password').send_keys('sarthak')

推荐阅读