requests-html的js执行功能简单使用

#!/usr/bin/env python
# encoding: utf-8  
import asyncio
from requests_html import HTMLSession
import time
script = """
    () => {
        return {
             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()
   }
"""
#运行js
session=HTMLSession()
r=session.get("https://www.facebook.com/login.php?login_attempt=1")
#开始调用pyppeteer
dom=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)

  

原文地址:https://www.cnblogs.com/c-x-a/p/9117747.html