Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“有什么用?”;参数[0]”;在实现javascriptexecutor时?_Javascript_Selenium - Fatal编程技术网

“有什么用?”;参数[0]”;在实现javascriptexecutor时?

“有什么用?”;参数[0]”;在实现javascriptexecutor时?,javascript,selenium,Javascript,Selenium,我已经成功地实现了JavascriptExecutor,但是我想知道为什么我们使用这个数组“参数[0]” 代码如下: IJavaScriptExecutor executor = (IJavaScriptExecutor)driver; executor.ExecuteScript("arguments[0].click();", driver.FindElement(locator)); 它是对您传入的参数的引用。在本例中,索引为0,因为您正在将元素引用作为executeScript调用

我已经成功地实现了
JavascriptExecutor
,但是我想知道为什么我们使用这个数组“
参数[0]

代码如下:

 IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;
 executor.ExecuteScript("arguments[0].click();", driver.FindElement(locator));

它是对您传入的参数的引用。在本例中,索引为0,因为您正在将元素引用作为executeScript调用中的第0个参数(包含脚本的字符串后的参数)传入。请检查第页的定义

参数将通过“arguments”魔术变量提供给JavaScript,就像函数是通过“function.apply”调用的一样

executeScript的返回值为:

返回: 布尔、长、字符串、列表或WebElement中的一种。或空


这意味着返回的对象是一个列表,您可以通过
参数[0]
魔术变量与之交互。

它似乎是在一个匿名函数的上下文中运行的,该匿名函数正在通过
驱动程序。FindElement(locator)
生成的任何内容。因此,<代码>参数[0 ] 是您访问匿名函数的第一个参数的方法。只需将其视为脚本的命令行参数。好的,我明白了。谢谢