无法在 IE 中使用 Selenium 运行 JavaScript
Unable to run JavaScript in IE using Selenium
我正在尝试使用 Selenium C# 从 IE 执行 JavaScript。它在 Firefox 和 Chrome 上运行良好,但在 IE(版本 11)上运行不正常。
下面是我正在尝试的示例代码 运行:
string script = "document.getElementsByClassName('ITLCover')[0].remove();";
((IJavaScriptExecutor) Driver.WebDriver).ExecuteScript(script);
您应该尝试使用 selenium 脚本查找元素,并且需要将其作为参数传递给 ExecuteScript()
,如下所示:-
string script = "arguments[0].remove();";
IWebElement element = Driver.WebDriver.FindElement(By.ClassName("ITLCover"));
((IJavaScriptExecutor) Driver.WebDriver).ExecuteScript(script, element);
已编辑 :- 如果您想传递 IWebElement
的列表,并使用 index
执行脚本,请尝试 :-
int index = 0;
string script = "arguments[0][arguments[1]].remove();";
((IJavaScriptExecutor) Driver.WebDriver).ExecuteScript(script, Driver.WebDriver.FindElements(By.ClassName("ITLCover")), index);
我正在尝试使用 Selenium C# 从 IE 执行 JavaScript。它在 Firefox 和 Chrome 上运行良好,但在 IE(版本 11)上运行不正常。
下面是我正在尝试的示例代码 运行:
string script = "document.getElementsByClassName('ITLCover')[0].remove();";
((IJavaScriptExecutor) Driver.WebDriver).ExecuteScript(script);
您应该尝试使用 selenium 脚本查找元素,并且需要将其作为参数传递给 ExecuteScript()
,如下所示:-
string script = "arguments[0].remove();";
IWebElement element = Driver.WebDriver.FindElement(By.ClassName("ITLCover"));
((IJavaScriptExecutor) Driver.WebDriver).ExecuteScript(script, element);
已编辑 :- 如果您想传递 IWebElement
的列表,并使用 index
执行脚本,请尝试 :-
int index = 0;
string script = "arguments[0][arguments[1]].remove();";
((IJavaScriptExecutor) Driver.WebDriver).ExecuteScript(script, Driver.WebDriver.FindElements(By.ClassName("ITLCover")), index);