1.在定位之前先等待资源加载完毕:
sleep(10)
element = driver.find_element_by_xpath("//input[@class='form-control' and @name='username']")
2.定义隐式等待:
driver.implicitly_wait(10)
3.上诉无效则有可能是页面元素被iframe标签包裹起来了:如163邮箱登录
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("https://mail.163.com/")
driver.find_element_by_link_text("密码登录").click()
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@scrolling="no"]')) #需要定位到iframe标签
driver.find_element_by_xpath('//input[@name="email"]').send_keys("lmsgau")
driver.find_element_by_link_text("登 录").click() #源代码中若是有空格,此处也必须有空格
sleep(10)
driver.quit()