一.render的使用from requests_html import HTMLSession

session =HTMLSession()

response = session.get('https://www.cnblogs.com/pythonywy/')

print(response.html.render())进行js注入

模拟人操作浏览器

二.render的参数

1.script(str)

执行的js代码

语法:response.html.render(script='js代码字符串格式')

2.scrolldown(int)滑动滑块

和sleep联用为多久滑动一次

语法:response.html.render(scrolldown=页面向下滚动的次数)

3.retries(int)

加载页面失败的次数

4.wait(float)

加载页面的等待时间(秒),防止超时(可选)

5.sleep(int)

在页面初次渲染之后的等待时间

6.timeout(int or float)

页面加载时间上线

7.keep_page(bool)

如果为真,允许你用r.html.page访问页面

8.reload(bool)

如果为假,那么页面不会从浏览器中加载,而是从内存中加载

三.r.html.page与浏览器交互

1.基本语法from requests_html import HTMLSession

session =HTMLSession()

response = session.get('https://www.cnblogs.com/pythonywy/')

print(response.html.render(keep_page=true))

async def run():

#交互语句

await r.html.page.XXX

try:

session.loop.run_until_complete(run())

finally:

session.close()

2.键盘事件keyboard.down(‘键盘名称’):按下键盘不弹起(与键盘有点不太down(‘h’)只会出现一个h而不是hhhhhhh….)

keyboard.up(‘键盘名称’):抬起按键

keyboard.press(‘键盘名称’):按下+弹起

keyboard.type(‘输入的字符串内容’,{‘delay’:100}) delay为每个子输入后延迟时间单位为ms

3.鼠标事件

点击click(‘css选择器’,{ ‘button’:’left’, ‘clickCount’:1,’delay’:0})button为鼠标的按键left, right, or middle,

clickCount:点击次数默认次数为1

delay:点击延迟时间,单位是毫秒

mouse.click(x, y,{ ‘button’:’left’, ‘clickCount’:1,’delay’:0})x,y:muber数据类型,代表点击对象的坐标

点下去不抬起mouse.down({‘button’:xxx,clickCount:xxx})

抬起鼠标mouse.up({‘button’:xxx,clickCount:xxx})

4.其他

等待waitFor(‘选择器, 方法 或者 超时时间’)选择器: css 选择器或者一个xpath 根据是不是//开头

超时时间:单位毫秒

等待元素加载

waitForSelector(‘css选择器’)

获取x,y坐标mydic =await r.html.page.evaluate('''() =>{

var a = document.querySelector('#kw') #对象的css选择器

var b = a.getBoundingClientRect()

return {'x':b.x,'y':b.y , 'width':b.width , 'height':b.height }

}''')

执行js代码

evaluate(‘js代码字符串格式’)

输入内容

type(‘css选择器’,’内容‘,{’delay‘:100})

聚焦

focus(‘css选择器’)

移动动到

hover(‘css选择器’)

获取cookies

cookies()

设置页面大小

setViewport({‘width’: 1366, ‘height’: 768})

截图

screenshot({‘path’:保存本地路径,’clip’:{‘x’:1,’y’:1,’width’:100,’height’:100}})x:图片的x坐标

y:图片的y坐标

width: 图片宽

height:图片高

https://www.cnblogs.com/pythonywy/p/11694967.html

python render_requests-html库render的使用相关推荐

  1. Python之JSON库的使用(二)

    Python之JSON库的使用 通过脚本抓取拉勾网某职位的数据,获取公司名称和最高薪资的信息,最后通过pyecharts实现可视化. 主体脚本: #!/usr/bin/env python3 # -* ...

  2. python利用dominate库生成静态网页

    HTML报告:python利用dominate库生成静态网页 dominate 简介 一个生成页面的简单例子 标记的属性 如何生成复杂的文档结构 访问内容和属性 渲染 上下文管理器 装饰器 创建文档 ...

  3. python 标准模板库_比较了3个Python模板库

    python 标准模板库 在我的日常工作中,我花费大量时间将各种来源的数据整理成人类可读的信息. 虽然在很多时候,这只是以电子表格或某种类型的图表或其他数据可视化的形式出现,但在其他情况下,有意义的是 ...

  4. python内置库之学习ctypes库(二)

    ctypes库踩坑日记2 一.自己实现一个dll文件,再用python的ctypes库调用思路1更清晰 二.生成dll文件 三.ctypes库调用 一.自己实现一个dll文件,再用python的cty ...

  5. python内置库之学习configparser库(一)

    python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...

  6. python 脚本撞库国内“某榴”账号

    其实日常生活中我们的用户名和密码就那么几个,所以这给撞库带来了可能,本文主要给出python脚本撞库的一点粗浅代码.这里只讨论技术本生,代码中某榴的地址也已经改掉,避免被管理员误解禁言等发生,谢谢大家 ...

  7. Python中lxml库的安装(Windows平台)

    之前写过<Python中requests包的安装>,今天我需要安装lxml库,这里我尝试之前安装requests方式,但是没有成功,几经周折,终于总结出来了一个方法,这里拿出来给大家分享. ...

  8. 第四章 python的turtle库的运用

    我们可以尝试用python的自带turtle库绘制一条蟒蛇 首先我们设计一下蟒蛇的基本形状 我们先把这段蟒蛇绘制的实例代码贴出来,各位可以在自己的本地运行一下看看效果,然后我们再继续分析代码: 1 # ...

  9. python相对路径库_如何最简单、通俗地理解Python的搜索路径、相对路径、绝对路径?...

    目录: 一.笔记 二.我的自学路线 三.笔记目录 一.笔记 1) 搜索路径 ① 能导入模块的话,表示搜索路径中有这个模块文件. ② 当你导入一个模块,Python解析器对模块位置的搜索顺序是:1. 当 ...

  10. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

最新文章

  1. NDK/JNI demo ( 五 ) ORB_SLAM2在Android上的移植过程
  2. Jsp—02—项目:登录案例
  3. 一个简单的反射拷贝一份新的实体类
  4. 启动 Tensorboard
  5. 003_JavaScript实现
  6. nginx php unix负载,使用nginx配置多个php fastcgi负载均衡
  7. 在ssh项目中的中配置数据源c3p0
  8. King Gym - 102471H
  9. LeetCode-726 原子的数量 递归
  10. 移动端vant时间选择器_vue移动端组件库(vant)
  11. 信息学奥赛一本通(1148:连续出现的字符)
  12. Python中的快捷键和注释方式
  13. acc 蓝牙_蓝牙耳机什么牌子好,哪个品牌的无线蓝牙耳机便宜好用
  14. 多线程—— Queue(储存进程结果)
  15. 深度学习:文本检测数据集整理
  16. Hibernate 基本类型
  17. 诗歌中的宇宙飞船和电子计算机代表什么,高考中可能出现的与神舟五号飞船有关的综合题...
  18. FLASH编程与改变程序(代码)存储地址的问题
  19. 原来在Android中请求权限也可以有这么棒的用户体验(转自郭霖)
  20. 用python做公众号网页_使用python一步一步搭建微信公众平台(一)

热门文章

  1. 漫画 | 程序员联名把产品经理告上县衙,并列了8大罪状(下)
  2. 那么多人吹Python,但我真怕你不知道是为什么!
  3. 360数科张家兴:金融科技的本质是线上化和自动化
  4. 2 万字长文盘点五种负载均衡策略
  5. 腾讯公布5G开放平台全景图,定义12大场景,引入45个应用
  6. MyBatis 缓存原来是这么一回事儿!| 原力计划
  7. 如何快速在 Springboot 中集成拦截器? | 原力计划
  8. 华为补助武汉员工,最高每日 2000 元;iPhone SE 2 量产或推迟;PowerShell 7.0 发布 | 极客头条...
  9. 曾惨遭 Google、Tesla 淘汰,辗转 8 个月,他是如何成为一名顶尖的 AI 工程师?...
  10. Facebook 与 Twitter 再曝漏洞!用户数据再次被共享?