【问题标题】:Version update to SELNEIUM 4.7.0 throwing NoSuchMethod Exception for PagefactorySELNEIUM 4.7.0 的版本更新抛出 Pagefactory 的 NoSuchMethod 异常
【发布时间】:2022-12-17 17:07:20
【问题描述】:

我正在将我的 selenium 项目从 3.141 更改为 4.7.0,但我在 PageFactory 初始化时看到 NoSuchElementException。

        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.7.1</version>
        </dependency>
public WebElementsLogin(WebDriver driver) {
        this.driver = driver;
        PageFactory.initElements(this.driver, this);
    }
java.lang.NoSuchMethodError: 'void org.openqa.selenium.support.PageFactory.initElements(org.openqa.selenium.SearchContext, java.lang.Object)'

【问题讨论】:

    标签: java selenium google-chrome selenium-chromedriver page-factory


    【解决方案1】:

    使用硒 4.7.1 和 JDK 11:

           <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>4.7.1</version>
            </dependency>
    
    public class Google {
        private WebDriver driver;
        @FindBy(name = "q")
        private WebElement searchField;
        
        public Google(WebDriver driver){
            this.driver = driver;
            PageFactory.initElements(driver, this);
        }
    
        public  void searchFor(String text){
            searchField.sendKeys(text);
            searchField.sendKeys(Keys.ENTER);
        }
    
        public void navigateTo(){
            driver.get("https://google.com");
        }
    
        public static void main(String[] args) {
            WebDriverManager.chromedriver().setup();
            WebDriver chrome = new ChromeDriver();
            Google google = new Google(chrome);
            google.navigateTo();
            google.searchFor("Selenium");
    
        }
    }
    

    一切都按预期工作。

    更正此行:

    PageFactory.initElements(this.driver, this);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-24
      • 2017-12-03
      相关资源
      最近更新 更多