使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记

时间:2022-05-04
本文章向大家介绍使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

针对模拟浏览器采用。

webdriver.Firefox()

火狐浏览器模拟

Windows系统解决办法如下:

1、下载geckodriver.exe: 下载地址:https://github.com/mozilla/geckodriver/releases 请根据系统版本选择下载;(如Windows 64位系统) 2、下载解压后将getckodriver.exe复制到Firefox的安装目录下,如(C:Program FilesMozilla Firefox),并在环境变量Path中添加路径:C:Program FilesMozilla Firefox;

3.重启cmd或IDLE再次运行代码即可

ubuntu16.04环境下 解决方法:

1、下载 geckodriverckod 地址: https://github.com/mozilla/geckodriver/releases

2、解压后将geckodriverckod 存放至 /usr/local/bin/ 路径下即

注:还没测试

二、点击定位

往往网页是异步加载形式,在url中没有体现,需要对页面上的元素进行点击,以执行下一步

对应于webdriver中的定位方法分别是:

  • driver.find_element_by_name()——最常用,简单
  • driver.find_element_by_id()——最常用,简单
  • driver.find_element_by_class_name()
  • driver.find_element_by_tag_name()——最不靠谱
  • driver.find_element_by_link_text()——定位文字连接好用
  • driver.find_element_by_partial_link_text()——定位文字连接好用
  • driver.find_element_by_xpath()——最灵活,万能
  • driver.find_element_by_css_selector()

如果定位多组元素则在element后面+s,即dirver.find_elements_by_name()

三、选择对应位置,并对页面进行操作

  • clear 清除元素的内容,如果可以的话
  • send_keys 在元素上模拟按键输入
  • click 单击元素
  • submit 提交表单