Selenium4:“类型 WebDriver.TargetLocator 的方法 newWindow(WindowType) 未定义”

Posted

技术标签:

【中文标题】Selenium4:“类型 WebDriver.TargetLocator 的方法 newWindow(WindowType) 未定义”【英文标题】:Selenium4: "The method newWindow(WindowType) is undefined for the Type WebDriver.TargetLocator" 【发布时间】:2021-08-30 12:36:08 【问题描述】:

我正在尝试使用 java 在 eclipse 中使用 Selenium 4 功能,但似乎无法让它们工作,我假设这一定是我的配置错误,所以如果有人能解释一下,我将不胜感激我哪里出错了,我该如何纠正?

下面的代码:我在最后一行(包含 newWindow() 方法)收到错误警告,错误消息与本文标题一致。 我已经从这里下载了 selenium-java-4.0.0-alpha-4 https://selenium-release.storage.googleapis.com/index.html?path=4.0-alpha4/ 我创建了一个新的 eclipse java 项目,并解压缩并包含了我的 java 构建路径中的所有 jar 文件,但它似乎无法识别/或无法找到 newWindow() 方法

package practice;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WindowType;
import org.openqa.selenium.chrome.ChromeDriver;
import static org.openqa.selenium.support.locators.RelativeLocator.withTagName;
import org.openqa.selenium.By;

public class Sel4alpha4 

    public static void main(String[] args) 
        System.setProperty("webdriver.chrome.driver","C:\\Users\\me\\Downloads\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.google.com");
        driver.switchTo().newWindow(WindowType.TAB); // this line has the error 
    

【问题讨论】:

【参考方案1】:

可能有两个问题:

1) 不正确的导入 - 您应该导入以下内容:

org.openqa.selenium.WindowType;

2) 您使用的版本有问题。尝试升级 selenium 版本。

版本:

selenium 4.0.0-beta-4

请尝试从以下链接下载更新后的 jar:

https://www.selenium.dev/downloads/

https://selenium-release.storage.googleapis.com/index.html?path=4.0-beta-4/

【讨论】:

以上是关于Selenium4:“类型 WebDriver.TargetLocator 的方法 newWindow(WindowType) 未定义”的主要内容,如果未能解决你的问题,请参考以下文章

Selenium4+Python3系列 - 上传文件及滚动条操作

Selenium4+Python3系列 - Page Object设计模式

python selenium4 模拟点击+拖动+保存验证码 测试对象+以验证码的返回ID保存命名 58同城验证码

Selenium4+Python3系列 - Cookie截图单选框及复选框处理富文本框日历控件操作

如何在 Selenium 4 中使用 ExpectedConditions?

在 Python 中使用 Remote WebDriver 设置 Chrome DevTools (Selenium 4)