1. ホーム
  2. java

[解決済み] Selenium Webdriverです。要素が表示されない例外

2022-01-25 18:44:41

質問

以下は、この上でシンプルなログインボタンをクリックするための私のコードです。 ウェブサイト

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;    
import org.openqa.selenium.WebDriver;    
import org.openqa.selenium.firefox.FirefoxDriver;    

public class Reports {

    public static void main(String[] args) {

        WebDriver driver = new FirefoxDriver();
        driver.get("https://platform.drawbrid.ge");
        driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
        driver.findElement(By.xpath(".//*[@id='_loginButton']")).click();

    }
}

以下のエラーが発生します。

スレッド "main" org.openqa.selenium.ElementNotVisibleException で例外が発生しました。要素が現在表示されていないため、対話できない可能性があります。 コマンドの継続時間またはタイムアウト: 2.05秒

解決方法は?

このページには指定されたxpathを持つ2つのボタンがありますが、1つ目は表示されていないため、ElementNotVisibleExceptionが発生します。

1つは <div class="loginPopup">

2番目(あなたが必要とするもの)は <div class="page">

そこで、xpathを次のように変更すれば、問題は解決します。

By.xpath("//div[@class='page']//div[@id='_loginButton']")