0

在我的 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 只是跳过执行脚本,为什么?:(

4

1 回答 1

0

当您使用format()then{...}在字符串中具有特殊含义时-不仅在中open("{}"而且在中function () {...}-并且您必须像平常一样{{ }}使用它{ }-

function () {{....}}

更多关于PyFormat

于 2020-06-17T22:30:59.130 回答