在我的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 的信息