最近需要写一个爬虫,逻辑上有一个环节是取得一个页面的所有资源加载链接(html5页面)
(ps:python下的确是是有个第三方包叫Ghostpy可以取得,但是尝试后效果并不好,估计是因为Ghostpy的webkit对html5的支持并不好。)
选择用selenium,但是没找到selenium的webdriver下取得所有资源加载链接的方法。
selenium包下有一个selenium模块。查看源码时看到有个get_all_links方法。但是一直没找到这个模块的用法。
最后,求解答。谢谢大家。
方法不成的话,就自己do
it把:
all_links
=
browserfind_element_by_xpath('//a')
for
a
in
all_links:
agetAttribute('href')
WebElemenet fif = driverfindElement(Byxpath("//div[@id='ext-gen47']/iframe"));
driverswitchTo()Iframe(fif)switchTo()Iframe("orderDayDataIframe");
WebElement element = driverfindElement(Byid("dayDataForm"));
试下这样行不行。
目录
安装 selenium 第三方库
下载浏览器驱动:
需要把这些浏览器驱动放入 Python 应用目录里面的 Script 文件夹里面
① 200 多本 Python 电子书(和经典的书籍)应该有
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且可靠的练手项目及源码)
④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
私信我01即可获取大量Python学习资源
每次当selenium启动chrome浏览器的时候,chrome浏览器很干净,没有插件、没有收藏、没有 历史 记录,这是因为selenium在启动chrome时为了保证最快的运行效率,启动了一个裸浏览器,这就是为什么需要配置参数的原因,但是有些时候我们需要的不仅是一个裸浏览器
selenium启动配置参数接收是ChromeOptions类,创建方式如下 :
创建了ChromeOptions类之后就是添加参数,添加参数有几个特定的方法,分别对应添加不同类型的配置项目
常用配置参数:
其他配置项目参数
制作无头浏览器
规避检测
门户网站检测如果是selenium请求的,有可能会拒绝访问。这也是一种反爬机制
实现规避检测
注意:这里只能使用 options 添加
如果有其他的模块要添加,注意要分开添加
元素定位语法
常用语法:
在 element 变成 elements 时,返回符合条件的所有元素组成的数组
控制浏览器大小
浏览器后退,前进
刷新
在搜索框模拟回车 *** 作
在 WebDriver 中, 将这些关于鼠标 *** 作的方法封装在 ActionChains 类提供
ActionChains 类提供了鼠标 *** 作的常用方法:
语法:
想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等
使用语法:
其他事件可以通过查看源码获取
显式等待使WebdDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常
实例:
WebDriverWait类是由WebDirver 提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常
语法:
参数:
如果某些元素不是立即可用的,隐式等待是告诉WebDriver去等待一定的时间后去查找元素。 默认等待时间是0秒,一旦设置该值,隐式等待是设置该WebDriver的实例的生命周期
案例
语法:
alert 里面的方法
WebDriver *** 作cookie的方法:
参考链接: >
以上就是关于如何用python的selenium提取页面所有资源加载的链接全部的内容,包括:如何用python的selenium提取页面所有资源加载的链接、selenium 如何定位没有id的frame、关于Python的Selenium框架全解,一篇完整的说明书等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)