Python Selenium函数 driver.execute_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 的信息

最新更新