AttributeError: 'NoneType' object has no attribute 'send_keys'

AttributeError: 'NoneType' object has no attribute 'send_keys' 问题
在学习 selenium的时候,网页可以创建打开,但一直无法定位定位,我已经把chromedriver.exe重新下载并放到指定位置,且在程序中也指定的位置,但无论怎么操作都不能定位和后续打开其他网页

from selenium import webdriver
import time

e=r"C:\Program Files\Google\Chrome\Application\chromedriver.exe"
driver=webdriver.Chrome(executable_path=e)#指定一下driver
url = 'http://www.baidu.com'
driver.get(url)
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('python3')

设置浏览器大小

driver.set_window_size(800,600)
time.sleep(5)

可以直接最大化

driver.maximize_window()
driver.maximize_window() # 最大化浏览器窗口

AttributeError: 'NoneType' object has no attribute 'send_keys'

最新的selenium版本已经不支持find_element_by_xpath这种写法了
需要使用By的方式:
首先添加引用:
from selenium.webdriver.common.by import By

然后定位元素那一行修改为:
driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys('python3')

好用就好,不用谢,太客气了

对了,好些培训文档已经是很多年前写的了。内容难免不靠谱

添加一下等待时间
driver.get(url)
time.sleep(3)
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('python3')

driver.find_element_by_xpath('//*[@id="kw"]')的值是None