requests-html库render方法的使用

时间:2020-01-05 21:35:20   收藏:0   阅读:154

一.render的使用

from requests_html  import HTMLSession

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

print(response.html.render())

二.render的参数

1.script(str)

执行的js代码

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

2.scrolldown(int)

语法: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.键盘事件

3.鼠标事件

点击

点下去不抬起

抬起鼠标

4.其他

等待

等待元素加载

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}})

原文:https://www.cnblogs.com/guapitomjoy/p/12153557.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!