一尘不染

通过Selenium WebDriver从JavascriptExecutor接口使用executeScript方法时,arguments[0]和arguments [1]是什么意思?

selenium

是什么arguments[0]以及arguments[1]使用时的意思是 executeScript() 方法从
JavascriptExecutor 通过seleniumwebdriver的接口,什么是的目的arguments[0]在下面的代码。

javaScriptExecutor.executeScript("arguments[0].click()", webElement);

阅读 1321

收藏
2020-06-26

共1个答案

一尘不染

JavascriptExecutor
接口中的
executeScript()
方法可以调用 arguments [0]arguments
[1]
等形式的多个参数
****

  • 按照您的示例,要javaScriptExecutor.executeScript("arguments[0].click()", webElement);工作,您需要定义 webElementexecuteScript()方法将把元素的引用与要执行的 方法 一起作为 参数[0] [在这种情况下],此后应提供引用。 __click()

    WebElement webElement = driver.findElement(By.xpath("xpath_element"));
    

    JavascriptExecutor javaScriptExecutor = (JavascriptExecutor)driver;
    javaScriptExecutor.executeScript(“arguments[0].click()”, webElement);

  • 类似地,executeScript()具有多个 arguments [] 的示例如下:

    JavascriptExecutor js = (JavascriptExecutor) driver;
    

    js.executeScript(“arguments[0].setAttribute(‘style’, arguments[1])”, driver.findElement(By.xpath(“//input[@type=’file’]”)), “0”);

在此示例中:

* `driver.findElement(By.xpath("//input[@type='file']`被称为 **arguments [0]**
* “ 0”称为自 **变量[1]**
2020-06-26