Python selenium 函数 driver.execute_script() 不会在脚本中执行我的代码?

Python selenium function driver.execute_script() won't execute my code in the script?

在我的 python 脚本中,我使用了 selenium 函数 driver.execute_script(),它不会执行脚本中的所有代码。具体来说,一个代码有效,而其他代码无效。

此代码有效:

driver.execute_script("""
        let w = window.open("{}","_blank");
        w.console.log("asdf");
        """.format(link))

但是这里没有用:

driver.execute_script("""
        let w = window.open("{}","_blank");
        w.addEventListener("DOMContentLoaded", function () {
            w.console.log("asdf");
        });
        """.format(link))

我需要这个事件侦听器,因为这个函数的主体将与 DOM 元素一起工作,但是当我使用事件侦听器键入代码时 python 只是跳过执行脚本,为什么? :(

当您使用 format() 时,{...} 在字符串中具有特殊含义 - 不仅在 open("{}" 中而且在 function () {...} 中 - 您必须使用 {{ }} 正常使用 { } -

function () {{....}}

更多关于 PyFormat