文中的文本及图片来自互联网,仅作学习培训 、沟通交流应用,不具备一切商业行为,如有什么问题请立即在线留言以作解决。

下列文章内容来自Python程序猿

刚触碰Python的初学者、新手 ,能够拷贝下边的连接去免费在线观看Python的基本新手入门视频教学

https://v.douyu.com/author/y6AZ4jn9jwKW

 

在大家抓取网页页面全过程中,常常发觉大家要想得到 的数据信息并不可以简易的根据分析HTML编码获得,这种数据信息是根据AJAX多线程载入方法或历经JS3D渲染后才展现在网页页面上显示信息出去 。

selenuim是一种自动化技术检测工具 ,它适用多种多样电脑浏览器。而在网络爬虫中 ,我们可以应用它来仿真模拟电脑浏览器访问 网页页面,从而处理JavaScript3D渲染的难题。

1. 应用实例

 

2. 详解

2.1 申明电脑浏览器目标

即告知程序流程,应当应用哪一个电脑浏览器开展实际操作

 

2.2 页面访问

 

2.3 查找元素

取得成功浏览网页页面后 ,大家很有可能必须开展一些实际操作,例如寻找输入框随后输入关键词再敲打回车 。

因而,就必须在selenium中查找元素 。

2.3.1 单独元素

selenium查找元素有二种方式。

第一种 ,是特定应用哪样方式去查找元素,例如特定按照CSS挑选或是按照xpath去开展查找

 

下边是详尽的元素查找方式

find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

 

第二种,是立即应用find_element() ,传到的第一个主要参数为必须应用的元素查找方式

 

2.3.2 好几个元素

查找好几个元素和查找单独元素的方式基本一致(只必须将查找单独元素的func中放一个s)。

查找好几个元素回到的是一个list 。

 

2.4 元素互动实际操作

元素互动是先获得一个元素,随后对获得的元素启用互动方式。

例如在输入框内输入文字:

 

2.5 互动姿势

互动姿势是将姿势额外到互动链中串行通信实行,必须应用到ActionChains。

2.6 实行JavaScript

例如拖动往下拉

 

2.7 获得元素信息内容

早已根据元素查找获得到元素后 ,很有可能还必须获得这一元素的特性、文字

2.7.1 获得特性

 

2.8 Frame

假如精准定位到父frame,是没法查找到子frame的信息内容的,因而必须转换到子frame再开展查找 。同样 ,在子frame也没法查找到父frame的信息内容

 

2.9 等待

要求网页页面时 ,很有可能会存有AJAX多线程载入的状况。而selenium总是载入主网页页面,并不会充分考虑AJAX的状况。因而,应用时必须等待一些時间 ,让网页页面载入彻底后再开展实际操作 。

2.9.1 隐式等待

应用隐式等待时,假如webdriver沒有寻找特定的元素,将再次等待。超过要求時间后 ,假如還是沒有寻找特定元素则抛出去找不着元素的出现异常。默认设置等待時间为0 。

隐式等待是对全部网页页面开展等待。

必须尤其表明的是:潜在性等待对全部driver的周期时间都起功效,因此 要是设定一次就可以。

 

2.9.2 显式等待

显示信息等待包括了等待标准和等待時间 。

最先判断等待标准是不是创立,假如创立 ,则立即回到;假如标准不创立,则等待最多時间为等待時间,假如超出等待時间后依然沒有考虑等待等待标准 ,则抛出异常 。

显式等待是对特定的元素开展等待。

 

2.10 电脑浏览器的前行/倒退

back完成返回前一页面,forward完成前去下一页面

 

2.11 对Cookies开展实际操作

 

2.12 菜单栏管理方法

菜单栏管理方法便是电脑浏览器的标识。一些情况下大家必须在电脑浏览器里提升一个新标签页或是删掉一个标签页,就可以应用selenium来完成 。

 

文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归趣快排www.sEoguruBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ✈61910465