gpt4 book ai didi

javascript - 通过 python 使用 seleniumexecute_script 时删除转义字符

转载 作者:行者123 更新时间:2023-12-03 09:55:48 24 4
gpt4 key购买 nike

我的字符串中需要包含这些字符:"'\;

userID = "__\"__\'__\;__"

我正在通过 python 运行 javascript 来更新用户名字段:

driver.execute_script("window.document.getElementById('username').value = '%s';" %userID)

现在我的问题是我的脚本最终变成:

window.document.getElementById('username').value = '__"__'__\;__';

这会导致错误,因为我有单引号而没有转义字符。如何将转义字符保留在单引号前面?

最佳答案

不要使用插值。相反,将该值作为参数传递给 execute_script:

driver.execute_script("window.document.getElementById('username').value = arguments[0];", 
userID)

在脚本之后传递给 execute_script 的参数可在JavaScript 端。 (这不是一个特殊的 Selenium 事物,而是 JavaScript 的工作原理。您提供给 execute_script 的脚本被包装在一个函数对象中,函数参数可在 arguments object. 上获得)

当您像上面一样将值作为参数传递时,Selenium 会将 Python 值序列化为其在浏览器端对应的 JavaScript 值,并且它将保留您的字符串。

关于javascript - 通过 python 使用 seleniumexecute_script 时删除转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com