解决Python爬虫中selenium模块中的find_element_by_id方法无法使用

这篇具有很好参考价值的文章主要介绍了解决Python爬虫中selenium模块中的find_element_by_id方法无法使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如有错误,敬请谅解!

此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!!

        我们在学习selenium模块的时候,经常会用到 browser.find_element_by_id命令,但随着selenuim版本更新,我们会发现运行时会报错,非常苦恼。

        示例:

from selenium import webdriver

path = 'chromedriver.exe'
browser = webdriver.Chrome(path)

url = 'https://www.baidu.com'
browser.get(url)

button = browser.find_element_by_id('su')
print(button)

        错误如下:

解决Python爬虫中selenium模块中的find_element_by_id方法无法使用

        点击运行后报错:AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'

'WebDriver'没有find_element_by_id这个方法

        我们发现,finde_element这个方法有,所以可以尝试换一种方法改写上述代码:

from selenium import webdriver
from selenium.webdriver.common.by import By

path = 'chromedriver.exe'
browser = webdriver.Chrome(path)

url = 'https://www.baidu.com'
browser.get(url)

button = browser.find_element(By.ID,'su')
print(button)

        可以发现只是改变了这两句:

from selenium.webdriver.common.by import By
button = browser.find_element(By.ID,'su')

        如果自己的版本是最新的版本,那么很有可能这种方法已经不用了,可以去查看一下官方的文档,或者直接查看配置文件,对自己的代码进行修改。

       以下是更新之后常见的的用法(使用前需引用:from selenium.webdriver.common.by import By):

# 根据xpath选择元素

driver.find_element(By.XPATH, '//*[@id="kw"]') 

# 根据css选择器选择元素
driver.find_element(By.CSS_SELECTOR, '#kw') 

# 根据name属性值选择元素
driver.find_element(By.NAME, 'wd') 

# 根据类名选择元素
driver.find_element(By.CLASS_NAME, 's_ipt') 

# 根据链接文本选择元素
driver.find_element(By.LINK_TEXT, 'hao123') 

# 根据包含文本选择
driver.find_element(By.PARTIAL_LINK_TEXT, 'hao') 

# 根据标签名选择
# 目标元素在当前html中是唯一标签或众多标签第一个时候使用
driver.find_element(By.TAG_NAME, 'title') 

# 根据id选择
driver.find_element(By.ID, 'su') 

如有错误,请联系作者删除

并恳请同行朋友予以斧正,万分感谢!文章来源地址https://www.toymoban.com/news/detail-451502.html

到了这里,关于解决Python爬虫中selenium模块中的find_element_by_id方法无法使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python爬虫】Python爬虫三大基础模块(urllib & BS4 & Selenium)

    参考资料 Python爬虫教程(从入门到精通) Python urllib | 菜鸟教程 Beautiful Soup 4 入门手册_w3cschool Selenium入门指南 Selenium教程 什么是 Scrapy|极客教程 Scrapy入门教程 1、网络爬虫是什么? 我们所熟悉的一系列 搜索引擎都是大型的网络爬虫 ,比如百度、搜狗、360浏览器、谷歌搜索等

    2024年02月12日
    浏览(35)
  • 【小5聊】Python3 使用selenium模块实现简单爬虫系列一

    第一次听说Python还是在工作的时候,还是一位女生在用,当时她说可以用来处理excel文档,特别是一些统计分析。第二次让我真正进入python世界,还是在一次C站举办的大赛上。聊聊你是因为什么机缘巧合进入到python圈的呢?不妨留言说说 本期主要是聊聊,我接触到的selenium模

    2024年02月06日
    浏览(58)
  • Python 爬虫之 requests模块(ua伪装、代理、cookies、防盗链 Referer)、re模块、xpath模块、selenium

    下载 发送 get 请求 案例:百度 发送 post 请求 案例:百度翻译 UA 伪装 代理 cookies 登录 案例:17k小说网 防盗链 Referer 案例:梨视频 findall search finditer 预加载 提前写好正则表达式 匹配换行 re.S 在 html 中使用 原子组使用别名 爬取豆瓣电影 https://movie.douban.com/chart lxml.etree.XMLSy

    2024年01月24日
    浏览(25)
  • 【selenium】AttributeError: ‘WebDriver‘ object has no attribute‘find_element_by_id‘报错解决

    Traceback (most recent call last): driver.find_element_by_id(‘kw’).send_keys(‘python’) AttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_id’ Selenium更新到新版本(4.x版本)后,以前的一些常用的代码的语法发生了改变 executable_path已被弃用,要传入一个Service对象 旧版本 新版本 旧版

    2024年02月05日
    浏览(41)
  • Selenium - Python - AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘

    selenium:4.7.2 chromeDriver:108.0.5359.22 下载 最近看selenium遇到了这个报错 看的是这个教程,代码也是里面的。 报错如下 后来查到原因是`find_element_*`已经被移除了 把`bor.find_element_by_id(\\\'key\\\')`换成`bor.find_element(\\\'id\\\',\\\'key\\\')`就行,其他几个类似   参考:Selenium - Python - AttributeError: \\\'We

    2024年02月11日
    浏览(35)
  • python selenium报错:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘

    代码如下:  报错AttributeError: \\\'WebDriver\\\' object has no attribute \\\'find_element_by_id\\\' 报错原因:版本更新,写法稍稍变动 更改方法: 备注: 本人selenium版本为4.7.2  如果此方法不好使,那就是又更新辽~ 我真的会谢

    2024年02月16日
    浏览(33)
  • Python爬虫selenium安装谷歌驱动解决办法

    1.驱动下载链接:CNPM Binaries Mirror (npmmirror.com) 2.如果找不到匹配浏览器最新版本的驱动,选择进入到:Chrome for Testing availability (googlechromelabs.github.io) 3.谷歌浏览器老版本下载:Google Chrome 64bit Windows版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒 (chromedownloads.net) 4.谷歌浏览

    2024年02月07日
    浏览(30)
  • python selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id

    标题问题的解决办法参考了这篇文章,然后成功了:(1条消息) 关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_selenium新版本定位_热爱学习的猪的博客-CSDN博客 我修正的具体过程 1.我的原始代码: 原始代码报错(有2个,第一个还没有找

    2024年02月02日
    浏览(32)
  • [python] 使用selenium+pywinauto模块处理弹窗中的图片/文件上传

    在我们使用selenium模块操作浏览器完成一些任务时经常会遇到一些需要上传文件/图片的弹窗。例如,我们在编辑发送邮件时需要上传文件: 这些弹窗属于系统页面而非浏览器页面,所以只使用selenium模块是定位不到弹窗页面中的元素的,从而也就无法对元素进行操作完成上传

    2024年02月03日
    浏览(32)
  • 使用Selenium模块编写自动化爬虫程序

    使用Selenium模块编写自动化爬虫程序可以实现更复杂的爬取操作,模拟浏览器的行为。以下是关于使用Selenium模块编写自动化爬虫程序的总结: 模拟浏览器行为:Selenium模块可以模拟浏览器的行为,如点击按钮、填写表单、滚动页面等。这使得爬虫可以处理需要交互操作或动态

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包