栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Selenium中的JavaScriptExecutor是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Selenium中的JavaScriptExecutor是什么?

JavascriptExecutor

JavascriptExecutor
Selenium 接口,由以下所有类实现:

  • FirefoxDriver
  • ChromeDriver
  • InternetExplorerDriver
  • EdgeDriver
  • OperaDriver
  • SafariDriver
  • RemoteWebDriver
  • EventFiringWebDriver

当您由于跨域策略而有时执行 Selenium
脚本时,浏览器会强制您的脚本执行可能会意外失败并且没有足够的错误日志记录。在创建自己的XHR请求或尝试访问另一个框架时,这尤其相关。

您将在UncaughtDOMException中找到详细的讨论[:在页面中列出iframe时,阻止源为“ http://localhost:8080”的框架访问跨域框架

JavascriptExecutor接口提供以下两种方法:

  • executescript()
    :此方法在当前选定的框架或窗口的上下文中执行Javascript。提供的脚本片段将作为匿名函数的主体执行。在脚本中,您需要使用它
    document
    来引用当前文档。请注意,脚本完成执行后,局部变量将不可用,尽管全局变量将继续存在。

  • executeAsyncscript()
    :此方法在当前所选框架或窗口的上下文中执行一段异步Javascript。与执行同步Javascript不同,使用此方法执行的脚本必须通过调用提供的回调来显式表示已完成脚本。此回调始终作为最后一个参数注入执行的函数中。


几个例子:

几个例子:

  • 使用JS输入文字

    String js = "arguments[0].setAttribute('value','"+inputText+"')"

    ((JavascriptExecutor) webDriver).executescript(js, element);

  • 双击Javascript

    new Actions(driver).moveToElement(myElem, posX, posY).perform();

    ((JavascriptExecutor)driver).executescript(jsDoubleClick, myElem, posX, posY);

  • 通过executescript()发送可变字符串

    String myValue = "80120804076";

    WebElement pesel = driver.findElement(fldPesel);
    jse.executescript(“arguments[0].value=’” + myValue + “’;”, pesel);

在通过Selenium WebDriver从JavascriptExecutor接口使用executescript方法时,arguments[0]和arguments [1]是什么意思,也可以找到有关 参数 的详细讨论。


tl; dr

跨域策略文件规范



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号