解决了!
我不知道 iframe 是什么,Arundeep Chohan 在评论中提到了它们,这让我陷入了困境,并且知道我让它工作了。
我想要他的回答,但他把它作为评论留下了。谢谢阿伦迪普!++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++
我正在尝试编写一个程序来自动将我登录到一个站点,但 find_element_by_id 似乎不适用于此登录页面。我让它为 Youtube 工作,但到目前为止,我正在寻找的 id 似乎没有在这个网站上被检测到。
我也试过 find_element_by_name 和 find_element_by_class 也无济于事。
下面是我的代码
# Imports
import selenium
from selenium import webdriver
# Variables
UsNam = "MY_USERNAME"
# Assigning Firefox to browser
browser = webdriver.Firefox(executable_path=r"C:\Users\ME\Geckodriver\geckodriver-v0.27.0-win64\geckodriver.exe")
# Opening the webpage
browser.get("https://THESITEIWANTTOLOGINTO.com/abunchofloginpagestuff")
# Finding the login input
NameEntry = browser.find_element_by_id('USER')
browser.implicitly_wait(15)
# Entering the username
NameEntry.send_keys(UsNam)
这是我在硒中找不到的元素,
<input class="form-control ng-pristine ng-invalid ng-invalid-required" type="text" name="USER" id="USER" data-payxautoid="paychex.app.login.userName.input.username" placeholder="Enter Username" maxlength="50" data-ng-model="user.username" data-payx-focus="" data-ng-change="clearShowError()" required="" data-payx-form-value="siteminder.username">
我刚刚注意到的一件奇怪的事情是,当我复制并粘贴 id 没有出现在那里的元素时。它应该是“input id="USER" class=...”
任何帮助将不胜感激。我尝试阅读其他溢出问题,但没有找到任何答案,这就是我现在在这里的原因
谢谢
编辑:这是我的错误信息
Traceback (most recent call last):
File "C:/Users/Crow/PycharmProjects/Login/main.py", line 15, in <module>
NameEntry = browser.find_element_by_id('USER')
File "C:\Users\Crow\PycharmProjects\Login\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 360, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "C:\Users\Crow\PycharmProjects\Login\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 976, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "C:\Users\Crow\PycharmProjects\Login\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Crow\PycharmProjects\Login\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="USER"]