【问题标题】:JavaScriptExecutor js = new ChromeWebDriver(); does not work in SeleniumJavaScriptExecutor js = new ChromeWebDriver();在硒中不起作用
【发布时间】:2022-11-04 15:08:00
【问题描述】:

我试图理解 Selenium API 并发现 RemoteWebDriver 类实际上实现了 WebDriver 和 JAVAScriptExecutor 抽象方法,此外我们还有用于特定浏览器实现的子类,如 chromedriver、firefoxdriver 等。

我想知道为什么这无效JavaScriptExecutor js = new ChromeDriver();但是这个 VALID WebDriver driver = new ChromeDriver();;

请注意,第一个给出错误“类型不匹配:无法从 ChromeDriver 转换为 JavaScriptExecutor”。

我试图研究 API 和向上转换/向下转换的概念,但无法理解。

【问题讨论】:

    标签: javascript java selenium selenium-webdriver typecasting-operator


    【解决方案1】:

    你错过了演员阵容:

    WebDriver driver =  new ChromeDriver(); // Assigned elsewhere
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("return document.title");
    

    参考:
    https://www.selenium.dev/documentation/legacy/selenium_2/faq/#q-how-do-i-execute-javascript-directly

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      相关资源
      最近更新 更多