前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记

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

作者头像
学到老
发布2019-02-14 11:48:55
6690
发布2019-02-14 11:48:55
举报

针对模拟浏览器采用。

代码语言:javascript
复制
webdriver.Firefox()

火狐浏览器模拟

Windows系统解决办法如下:

1、下载geckodriver.exe: 下载地址:https://github.com/mozilla/geckodriver/releases 请根据系统版本选择下载;(如Windows 64位系统) 2、下载解压后将getckodriver.exe复制到Firefox的安装目录下,如(C:\Program Files\Mozilla Firefox),并在环境变量Path中添加路径:C:\Program Files\Mozilla 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 提交表单
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年06月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档