【问题标题】:How to Pass Variables into a javascriptexecutor script [duplicate]如何将变量传递到javascriptexecutor脚本[重复]
【发布时间】:2022-01-02 07:16:01
【问题描述】:

我正在使用 C# 和 Selenium 来导航一个站点,并且想知道如何将变量传递给我的 JavaScriptExecutor 命令。如果我这样写:

((IJavaScriptExecutor)webdriver).ExecuteScript("document.getElementByID('text box1').value = 'hello'");

这很好,但是当我尝试传递变量时,它说它们没有定义:

var elementID = "text box1"
var fieldValue = "hello"
((IJavaScriptExecutor)webdriver).ExecuteScript("document.getElementByID(elementID).value = fieldValue");

【问题讨论】:

标签: javascript c# selenium selenium-webdriver


【解决方案1】:

要将变量传递给JavaScriptExecutor 命令,您可以使用以下解决方案:

var elementID = "text box1"
var fieldValue = "hello"
((IJavaScriptExecutor)webdriver).ExecuteScript("document.getElementById('" + elementID + "').value ='" + fieldValue + "'");

PS:这是 document.getElementById() 而不是 document.getElementByID()。检查Id的大小写。


参考文献

您可以在以下位置找到一些相关的详细讨论:

【讨论】:

    猜你喜欢
    • 2019-10-18
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    相关资源
    最近更新 更多