【问题标题】:Execute javascript in selenium with variable使用变量在 selenium 中执行 javascript
【发布时间】:2020-08-03 16:48:34
【问题描述】:

我正在尝试执行包含变量的 JavaScript 语句,如何将变量传递给语句

语言:Python

val = "changed"
javaScript = f'document.querySelector("h2").textContent = '"{}"' '.format(val)
driver.execute_script(javaScript) 

我在 chrome 中得到以下结果,这不是我想要的

document.querySelector("h2").textContent = changed

应该是这样的引号

document.querySelector("h2").textContent = "changed"

【问题讨论】:

  • javaScript = 'document.querySelector("h2").textContent = "{}" '.format(val)

标签: javascript python selenium


【解决方案1】:

您正在尝试同时使用两个格式选项。

如果你至少使用 Python 3.6,那么试试 f-string:

val = "changed"
javaScript = f'document.querySelector("h2").textContent = "{val}"'
driver.execute_script(javaScript) 

或者如果您想使用format 函数,那么(如 cmets 中的建议)删除多余的引号:

val = "changed"
javaScript = 'document.querySelector("h2").textContent = "{}"'.format(val)
driver.execute_script(javaScript) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2016-12-04
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    相关资源
    最近更新 更多