selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘

Selenium更新到 4.x版本后,以前的一些常用的代码的语法发生了改变

from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
input = browser.find_element_by_id(By.ID,'kw')
input.send_keys('Python')

目标:希望通过 selenium 模拟在 “百度” 上 输入关键词搜索
思路:通过对网页的源代码分析(进入www.baidu.com,右键并检查则可看其HTML源代码),定位到搜索框的属性id=“kw”
selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘_第1张图片
报错:

AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'

报错原因:
selenium 更新到 4.x 之后,很多api发生了变化
解决方案:

#input = browser.find_element_by_id('kw')
# 替换为
input = browser.find_element(By.ID,'kw')

当然最最推荐的还是去官方查看文档:https://www.selenium.dev/documentation/webdriver/getting_started/first_script/

参考资料:
https://blog.csdn.net/m0_49076971/article/details/126233151
https://www.selenium.dev/documentation/webdriver/getting_started/first_script/

你可能感兴趣的:(selenium,测试工具)