【问题标题】:Executing Javascrpt after requests-html render在 requests-html 渲染后执行 Javascrpt
【发布时间】:2021-03-08 14:59:08
【问题描述】:

调用render()函数后如何执行javascript?文档只是说要调用它,并没有进一步解释如何做其余的事情,例如单击一个按钮。以下是文档中的原始代码:

>>> r = session.get('http://python-requests.org/')

>>> r.html.render()

>>> r.html.search('Python 2 will retire in only {months} months!')['months']
'<time>25</time>'

如何找到一个按钮并执行它的点击事件?我知道如何在硒中做到这一点。但不清楚在这里做什么。

【问题讨论】:

    标签: python python-requests-html


    【解决方案1】:

    click()功能暂不可用,可以关注issue更新。目前的解决方案是注入脚本并传递给.render()

    r = session.get("http://....")
    
    script = """
        () => {
           const button = document.querySelector("button");
           if(button) {
             button.click()
           }
        }
    """
    
    r.html.render(script=script)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 2021-07-16
      • 1970-01-01
      • 2016-04-26
      • 2012-01-25
      • 2020-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多