摘要: autoload() 方法可以设置每个页面访问时自动加载的对象,比如自动加载 JavaScript 代码,自动加载 Ajax 代码等等 注意此方法只负责加载 JavaScript/Ajax 代码,不执行任何操作。如果要执行操作,可以调用 evaljs() 或 runjs() 方法 也可以加载某些方法 阅读全文
posted @ 2019-03-18 17:11 孔雀东南飞 阅读(256) 评论(0) 推荐(0)
摘要: runjs() 方法可以执行 JavaScript 代码,它与 evaljs() 功能类似,但是更偏向于执行某些动作或声明某些方法 阅读全文
posted @ 2019-03-18 16:05 孔雀东南飞 阅读(733) 评论(0) 推荐(0)
摘要: evaljs() 方法可以执行 JavaScript 代码并返回最后一条 JavaScript 语句的返回结果 阅读全文
posted @ 2019-03-18 16:02 孔雀东南飞 阅读(474) 评论(0) 推荐(0)
摘要: jsfunc()方法可以直接调用 JavaScript 定义的方法,但是所调用的方法需要用双中括号包围,这相当于实现了 JavaScript 方法到 Lua 脚本的转换 阅读全文
posted @ 2019-03-18 15:59 孔雀东南飞 阅读(556) 评论(0) 推荐(0)
摘要: wait()方法用于控制页面的等待时间,如下,实现访问淘宝并等待2秒,随后返回淘宝页面的源代码: 阅读全文
posted @ 2019-03-18 15:53 孔雀东南飞 阅读(391) 评论(0) 推荐(0)
摘要: go()方法用来请求某个链接,而且它可以模拟 GET 和 POST 请求,同时支持传入请求头、表单等数据 阅读全文
posted @ 2019-03-18 15:47 孔雀东南飞 阅读(316) 评论(0) 推荐(0)
摘要: go() wait() jsfunc() evaljs() runjs() autoload() call_later() http_get() http_post() set_content() html() png() jpeg() har() url() get_cookies() add_cookies() get_viewport_size() set_viewport_size() ... 阅读全文
posted @ 2019-03-18 15:28 孔雀东南飞 阅读(193) 评论(0) 推荐(0)
摘要: scroll_position属性用于控制页面上下或左右滚动,如下,表示控制页面向下滚动 400 像素值并返回结果图, 如果要让页面左右滚动,可以传入 x 参数: . 阅读全文
posted @ 2019-03-18 15:24 孔雀东南飞 阅读(394) 评论(0) 推荐(0)
摘要: plugins_enabled属性可以控制浏览器插件(如 Flash 插件)是否开启。默认情况下,此属性是 false ,表示不开启。 阅读全文
posted @ 2019-03-18 15:19 孔雀东南飞 阅读(238) 评论(0) 推荐(0)
摘要: images_enabled属性用于设置加载页面时是否加载图片,如下,禁止之后,返回的页面截图就不会带有任何图片,加载速度也会快很多 阅读全文
posted @ 2019-03-18 15:17 孔雀东南飞 阅读(333) 评论(0) 推荐(0)
摘要: resource_timeout属性用于设置加载的超时时间,单位是秒,如果设置为 0 代表不检测超时,如下,设置超时时间为 0.1 秒: 执行之后抛出异常: 阅读全文
posted @ 2019-03-18 15:09 孔雀东南飞 阅读(392) 评论(0) 推荐(0)
摘要: js_enabled属性是 Splash 的 JavaScript 执行开关,可以将其配置为 true 或 false 来控制是否执行 JavaScript 代码,默认为 true 。例如,这里禁止执行 JavaScript 代码: 执行后,抛出如下异常: 阅读全文
posted @ 2019-03-18 15:02 孔雀东南飞 阅读(400) 评论(0) 推荐(0)
摘要: args属性可以获取加载时配置的参数,一般我们只传入URL,如下,args.url 就相当于加载时配置的URL参数,我们把它赋值给 url 变量然后返回: 阅读全文
posted @ 2019-03-18 14:53 孔雀东南飞 阅读(389) 评论(0) 推荐(0)
摘要: args js_enabled resource_timeout images_enabled plugins_enabled scroll_position 阅读全文
posted @ 2019-03-18 14:31 孔雀东南飞 阅读(200) 评论(0) 推荐(0)
摘要: Splash 可以通过 Lua 脚本执行一系列渲染操作,这样我们就可以用 Splash 来模拟浏览器的操作了,Splash Lua 基础语法如下: Splash 也支持异步处理: 在脚本内调用的 wait() 方法类似于 Python 中的 sleep(),其参数为等待的秒数。当 Splash 执行 阅读全文
posted @ 2019-03-18 14:29 孔雀东南飞 阅读(1564) 评论(0) 推荐(0)
摘要: Splash 说白了就是一个轻量级的浏览器,利用它,我们同样可以实现跟其他浏览器一样的操作,我们使用 Docker 来安装 Splash: 安装好之后,可以通过 http://localhost:8050 访问其 Web 界面,如下,我们可以通过输入 https://www.baidu.com/,然 阅读全文
posted @ 2019-03-18 11:54 孔雀东南飞 阅读(1216) 评论(0) 推荐(0)
摘要: Splash 简介与安装 Splash Lua 脚本 Splash 对象属性 Splash 对象方法 Splash API 调用 Splash 负载均衡 阅读全文
posted @ 2019-03-18 11:14 孔雀东南飞 阅读(222) 评论(0) 推荐(0)
摘要: 在使用 Selenium 的过程中,难免会遇到一些异常,例如超时、节点未找到等错误,我们可以使用 try...except... 语句来捕获各种异常 更多异常类参考官网:https://selenium-python.readthedocs.io/api.html#module-selenium.c 阅读全文
posted @ 2019-03-18 11:05 孔雀东南飞 阅读(1610) 评论(0) 推荐(0)
摘要: 什么是选项卡: 阅读全文
posted @ 2019-03-18 10:55 孔雀东南飞 阅读(704) 评论(0) 推荐(0)
摘要: 使用 Selenium ,还可以方便地对 Cookies 进行操作,例如获取、添加 、删除 Cookies 等 阅读全文
posted @ 2019-03-18 10:38 孔雀东南飞 阅读(260) 评论(0) 推荐(0)
摘要: 我们平常使用浏览器时都有前进和后退功能, Selenium 也可以完成这个操作,它使用 back() 方法后退,使用 forward() 方法前进 阅读全文
posted @ 2019-03-18 10:18 孔雀东南飞 阅读(1255) 评论(0) 推荐(0)
摘要: 在 Selenium 中, get() 方法会在网页框架加载结束后结束执行,此时如果获取 page_source ,可能并不是浏览器完全加载完成的页面; 如果某些页面有额外的 Ajax 请求,我们在网页源代码中也不一定能成功获取到。所以,这里需要延时等待一定时间,确保节点已经加载出来; 我们可以指定 阅读全文
posted @ 2019-03-18 10:13 孔雀东南飞 阅读(584) 评论(0) 推荐(0)
摘要: 我们知道网页中有一种节点叫作 iframe ,也就是子 Frame ,相当于页面的子页面,它的结构和外部网页的结构完全一致。 Selenium 打开页面后,它默认是在父级 Frame 里面操作,而此时如果页面中还有子 Frame ,它是不能获取到子 Frame 里面的节点的。 这时就需要使用 swi 阅读全文
posted @ 2019-03-18 09:33 孔雀东南飞 阅读(696) 评论(0) 推荐(0)
摘要: Selenium 可以通过 find_element() 找到指定的节点,Selenium 也提供了相关的方法和属性来直接提取节点信息,如属性、文本等 阅读全文
posted @ 2019-03-18 07:43 孔雀东南飞 阅读(865) 评论(0) 推荐(0)
摘要: Selenium 可以直接模拟运行 JavaScript,使用 execute_script() 方法即可实现 阅读全文
posted @ 2019-03-18 07:26 孔雀东南飞 阅读(1703) 评论(0) 推荐(0)
摘要: Selenium 模拟浏览器操作,有一些操作,它们没有特定的执行对象,比如鼠标拖曳、键盘按键等,这些动作用另一种方式来执行,那就是动作链 更多动作链参考官网:https://selenium-python.readthedocs.io/api.html#moduleselenium.webdrive 阅读全文
posted @ 2019-03-18 06:13 孔雀东南飞 阅读(416) 评论(0) 推荐(0)
摘要: Selenium 可以驱动浏览器来执行一些操作,也就是说可以让浏览器模拟执行一些动作 常见方法:输入文字时用 send_keys() 方法,清空文字时用 clear() 方法,点击按钮时用 click() 方法 阅读全文
posted @ 2019-03-18 06:00 孔雀东南飞 阅读(358) 评论(0) 推荐(0)