Python selenium.common.exceptions.NoSuchElementException:没有这样的元素:找不到元素我尝试了这个驱动程序。隐式地等待(20),但不工作

Python selenium.common.exceptions.NoSuchElementException:没有这样的元素:找不到元素我尝试了这个驱动程序。隐式地等待(20),但不工作,python,selenium-webdriver,Python,Selenium Webdriver,我有这个问题 我试过这个 driver.implicitly_wait(20) 但不起作用,同样的问题 这在网站加载后显示 我无法访问表单 这是表单链接 这是一个简单的代码 from selenium import webdriver URL = 'https://accounts.esri.com/en/login' userName = 'test' passWord = 'test' driver = webdriver.Chrome()

我有这个问题

我试过这个

driver.implicitly_wait(20)
但不起作用,同样的问题

这在网站加载后显示

我无法访问表单 这是表单链接

这是一个简单的代码

    from selenium import webdriver
    URL = 'https://accounts.esri.com/en/login'
    userName = 'test'
    passWord = 'test'
    driver = webdriver.Chrome()
    driver.get(URL)
    time.sleep(10)
    passWordInput = driver.find_element_by_css_selector('#user_username')
    passWordInput.send_keys(userName)
    passWordInput = driver.find_element_by_css_selector('#user_password')
    passWordInput.send_keys(passWord)
    buttonSignIn = driver.find_element_by_css_selector('#signIn')
    buttonSignIn.click()
    time.sleep(5)


此表单位于
内,对于浏览器,它是不同的页面,因此无法找到它。您必须使用
切换到.frame
更改帧,然后才能在此帧中搜索

from selenium import webdriver
import time

URL = 'https://accounts.esri.com/en/login'

userName = 'test'
passWord = 'test'

driver = webdriver.Chrome()
#driver = webdriver.Firefox()
driver.get(URL)
time.sleep(10)

f = driver.find_element_by_tag_name('iframe')
driver.switch_to.frame(f)

passWordInput = driver.find_element_by_css_selector('#user_username')
passWordInput.send_keys(userName)

passWordInput = driver.find_element_by_css_selector('#user_password')
passWordInput.send_keys(passWord)

buttonSignIn = driver.find_element_by_css_selector('#signIn')
buttonSignIn.click()

time.sleep(5)

睡觉从来都不是一个好习惯。而是使用
EC.frame\u to\u be\u available\u和\u switch\u to\u it()
等待帧,然后在可用时切换到它。更多信息,请参见。@JeffC对OP说-我只得到了它的代码,并添加了解决主要问题所需的代码:)我只能放这段代码,没有rest行。我要对你们两个说…:)。当我回答一个问题时,我不仅要回答这个问题,而且要在看到可以改进时提供建议。不纠正坏习惯是没有好处的,使用睡眠是一种普遍的坏习惯。
from selenium import webdriver
import time

URL = 'https://accounts.esri.com/en/login'

userName = 'test'
passWord = 'test'

driver = webdriver.Chrome()
#driver = webdriver.Firefox()
driver.get(URL)
time.sleep(10)

f = driver.find_element_by_tag_name('iframe')
driver.switch_to.frame(f)

passWordInput = driver.find_element_by_css_selector('#user_username')
passWordInput.send_keys(userName)

passWordInput = driver.find_element_by_css_selector('#user_password')
passWordInput.send_keys(passWord)

buttonSignIn = driver.find_element_by_css_selector('#signIn')
buttonSignIn.click()

time.sleep(5)