继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕斯卡3302699
关注TA
已关注
手记 271
粉丝 58
获赞 313

针对模拟浏览器采用。

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 提交表单


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP