Python爬虫中selenium的学习与应用

举报
相信光的奥特王小懒 发表于 2022/09/15 18:03:53 2022/09/15
【摘要】 python爬虫还是很有意思的

Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。对于一些JavaScript动态渲染的页面来说,此种抓取方式非常有效。

Selenium可以轻松部署在Windows,Linux,Solaris和Macintosh等平台上。此外,它支持IOS(IOS,Windows Mobile和Android)等移动应用程序的OS(操作系统)。

Selenium通过使用特定于每种语言的驱动程序支持各种编程语言。Selenium支持的语言包括C#,Java,Perl,PHP,Python和Ruby。目前,Selenium Web驱动程序最受Python和C#欢迎。 Selenium测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代Web浏览器中运行。 Selenium支持的浏览器包括Internet Explorer,Mozilla Firefox,Google Chrome和Safari。

1. selenium chrome浏览器驱动的安装

chrome浏览器驱动下载网址

chromedriver.storage.googleapis.com/index.html



找到自己的浏览器对应的版本然后进行下载,下载结果为压缩包,将压缩包进行解压.

  • 方法一:

最后把解压后的exe文件放到Python的安装目录下就可以了

如果不记得自己的Python安装目录

import sys

print (sys.executable)

可以查看自己的Python安装目录
  • 方法二:

我们可以手动创建一个存放浏览器驱动的文件夹,如:D:\Chrome driver

将下载的浏览器驱动放到该文件夹下,然后再将D:\Chrome driver目录添加到高级系统设置-环境变量-系统变量-path中

2. selenium控制chrome,Firefox等浏览器

  1. 首先将我们需要的selenium的包导入 from selenium.webdriver import Chrome(如果使用chrome浏览器就导入chrome,如果使用别的浏览器则将名称换掉即可)

  2. 创建浏览器对象 web = Chrome()

  3. 打开浏览器 web.get("www.baidu.com")(此处以百度举例)

  4. 找到某个元素. 点击它 el = web.find_element_by_xpath('此处是xpath的地址')(xpath不了解的可以看我之前的博客) el.click() # 点击事件

  5. 查找某些元素时,我们需要掌握前后端的一些知识,我们可以通过element,class_name,id,tag_name等,主要视情况而定




  • 当执行点击事件时,我们需要导入Keys from selenium.webdriver.common.keys import Keys

  • 浏览器窗口之间的切换 web.switch_to.window(web.window_handles[-1])

    表示的是网页栏最后一个网页

    web.switch_to.window(web.window_handles[0])

    表示的是网页栏第一个网页



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。