在 Pyppeteer (Python Puppeteer) 中从 page.evaluate 返回值到 python

问题描述

我正在使用 Pypeteer 对页面进行屏幕抓取,我有以下代码可以选择各种元素。

foo = await page.evaluate("""
        var name = document.querySelectorAll("h2")[0].innerText
        var balance = document.querySelectorAll("h3")[0].outerText
        var liabilities = document.querySelectorAll("h3")[1].outerText

        return name,balance,liabilities
    
    """)

    name = foo[0]
    balance = foo[1]
    liabilities = foo[2]

我想做的是将各种 document.querySelector 属性名称、余额、负债)的值放入这三个 Python 变量中,然后在脚本中进一步处理它们。

以上代码抛出如下错误

pyppeteer.errors.ElementHandleError: Evaluation Failed: SyntaxError: Illegal return statement

不知道如何从这一点上取得进展。有什么建议吗?

解决方法

您需要在 javascript 中使用 []

return [name,balance,liabilities]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...