通过爬虫中的selenium控制chrome,Firefox等浏览器自动操作获取相关信息

简介: 在pycharm中导入selenium之后,我们需要通过命令行来进行操作浏览器
1.首先将我们需要的selenium的包导入fromselenium.webdriverimportChrome(如果使用chrome浏览器就导入chrome,如果使用别的浏览器则将名称换掉即可)
2.创建浏览器对象web=Chrome()
3.打开浏览器web.get("http://www.baidu.com")(此处以百度举例) 
4.找到某个元素. 点击它el=web.find_element_by_xpath('此处是xpath的地址')(xpath不了解的可以看我之前的博客)
el.click()  # 点击事件5.查找某些元素时,我们需要掌握前后端的一些知识,我们可以通过element,class_name,id,tag_name等,主要视情况而定

aae67964fbf64beeb70d8f5cb5384290.png

-6.当执行点击事件时,我们需要导入Keysfromselenium.webdriver.common.keysimportKeys-7.浏览器窗口之间的切换web.switch_to.window(web.window_handles[-1])
表示的是网页栏最后一个网页web.switch_to.window(web.window_handles[0])
表示的是网页栏第一个网页

以下讲的是当网页中存在iframe的网页内嵌的时候:

我们先找到iframe的网址然后进行切换web.get("")
# 处理iframe的话. 必须先拿到iframe. 然后切换视角到iframe . 再然后才可以拿数据iframe=web.find_element_by_xpath('iframe的地址')
web.switch_to.frame(iframe)  # 切换到iframeweb.switch_to.default_content()  # 切换回原页面

无头浏览器的应用:

# 准备好参数配置opt=Options()
opt.add_argument("--headless")
opt.add_argument("--disable-gpu")
web=Chrome(options=opt)  # 把参数配置设置到浏览器中
相关文章
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
1573 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
Web App开发 JSON 安全
Chrome浏览器的跨域问题
【10月更文挑战第6天】
2648 123
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
776 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
1009 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
12月前
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
Web App开发 存储 前端开发
Chrome浏览器的跨域问题
Chrome浏览器的跨域问题
1051 128
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
1704 9
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
4606 2
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
908 6