#!/usr/bin/env python# encoding: utf-8 ?import asynciofrom requests_html import HTMLSessionimport timescript = """ ???() => { ???????return { ???????????width: document.documentElement.clientWidth, ???????????height: document.documentElement.clientHeight, ???????????deviceScaleFactor: window.devicePixelRatio, ???????} ???}"""geturl=""" ?() => ??{ return{ url:document.location.href} ??}"""loginjs=""" ?() => ??{ ???var email=document.getElementById("email") ???email.value="用户名" ???var pwd=document.getElementById("pass") ???pwd.value="密码" ???var submit=document.getElementById("loginbutton") ???submit.click() ??}"""#运行jssession=HTMLSession()r=session.get("https://www.facebook.com/login.php?login_attempt=1")#开始调用pyppeteerdom=r.html#page1=dom.render()#相当于await page.evaluate#page=dom.render(script=script)#相当于await page.evaluate# print(dir(dom)) #获取dom对象所有的属性和方法# print(dom.__dict__) #获取dom对象所有的属性和值,字典形式# print(dom.links) #获取所有相对连接# print(dom.absolute_links) #获取所有连接的完整路径#dom.session就相当于requests模块的response了#print(dom.render(script=geturl))print(dom.render(script=loginjs))time.sleep(5)print(dom.session)
requests-html的js执行功能简单使用
原文地址:https://www.cnblogs.com/c-x-a/p/9117747.html