Selenium Webdriver 例外 ElementNotVisibleException を修正する方法は?

はやて

Upwork を Selenium で解析しようとしていて、例外が発生しています

スレッド "main" org.openqa.selenium.ElementNotVisibleException の例外:

そして、私はその理由を理解していません。リンク自体で、リンクを含む h2 要素をクリックしようとしましたが、同じ例外が発生します。開発ツールでこの要素のスタイルを確認し、この要素が表示されていることを確認します。

ExpectedConditions を使用して、要素が表示されるまで待ちますが、タイムアウト例外が発生します。何が間違っていて、どうすればこのリンクをクリックできますか?

もちろん、uri を使用して開くこともできますが、クリックで問題を解決したいです。

System.setProperty("webdriver.gecko.driver", "/usr/local/bin/geckodriver");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.upwork.com/o/jobs/browse/");
List<WebElement> titles = driver.findElements(By.className("job-title"));
for (WebElement title: titles) {
    System.out.println("text: " + title.getAttribute("innerText"));
    System.out.println("tag: " + title.getTagName());
    title.click();
    driver.navigate().back();
}
ガラン・シャー

あなたが何をしようとしているのか正確にはわかりませんが、ウェブサイトをスクレイピングしようとしている場合、このアプローチは機能しない可能性があることをお伝えさせてください。これらの Web サイトにはボットを識別する機能が備わっており、遅かれ早かれコードを識別し、確認のためのキャプチャが提供されます。

しかし、あなたのコードについて話しましょう。要素が表示されないために失敗しています。可視性フラグが false であるか、サイズが利用できない、またはその他の理由が考えられます。簡単な修正は、href要素を取得することで、問題は解決します。

TODO コードを追加するだけで、このコードが実行されます。

    WebDriver driver = new FirefoxDriver();
    driver.get("https://www.upwork.com/o/jobs/browse/");
    List<WebElement> titles = driver.findElements(By.xpath("//h2/a"));
    for (int i=0; i<titles.size(); i++) {
        //TODO add a code to wait until first page loaded

        //To handle StaleElementReferenceException
        WebElement title = driver.findElements(By.xpath("//h2/a")).get(i);
        System.out.println("text: " + title.getAttribute("innerText"));
        System.out.println("tag: " + title.getTagName());
        title.click();
        driver.navigate().back();
    }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

リンクをクリックしようとすると、WebDriver.dll の OpenQA.Selenium.ElementNotVisibleException' が表示される

分類Dev

ElementNotVisibleException:Selenium Python

分類Dev

Selenium Python ElementNotVisibleException

分類Dev

Python Selenium:Webdriver例外の処理

分類Dev

selenium-webdriver4.0が例外メッセージを表示しない

分類Dev

Java POMクラスのSelenium WebDriver NullPointer例外

分類Dev

Selenium Webdriver:要素が表示されない例外

分類Dev

PythonとSelenium「execute_script」で「ElementNotVisibleException」を解決する

分類Dev

Selenium WebDriverでTestNgを使用する方法は?

分類Dev

Selenium-ログインでElementNotVisibleExceptionが発生する

分類Dev

Selenium PHP Webdriver-例外をキャッチしていませんか?

分類Dev

ElementNotVisibleException: Python + Selenium, login credentials on web

分類Dev

Selenium WebDriverで要素が見つからない場合に、NoSuchElementExceptionまたは任意の例外を強制終了する最速の方法

分類Dev

AmazonサインインでJavaでSeleniumを使用してorg.openqa.selenium.ElementNotVisibleExceptionを解決する方法

分類Dev

Selenium Webdriverの使用方法は?

分類Dev

JavaScriptをSelenium WebDriver Javaで使用する方法

分類Dev

c#-Selenium 3.14.0 + BrowserStack-Webdriver例外-受信に失敗し、インスタンス化に失敗する

分類Dev

selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable using Selenium

分類Dev

カレンダーの日付入力に対するSeleniumのElementNotVisibleException

分類Dev

セッションが作成されない例外:ChromeでSelenium Webdriverを使用する場合、Chromeのバージョンは> = xyzである必要があります

分類Dev

Python Selenium / WebDriver例外:スクリプトを文字列に変換できませんでした

分類Dev

Selenium 2(WebDriver)またはGeb?

分類Dev

Selenium WebDriverでxPathを使用してSVG要素を取得する方法は?

分類Dev

スローされた例外:WebDriver.dllの「OpenQA.Selenium.WebDriverException」

分類Dev

テキスト例外クリック(Ruby / Selenium Webdriver)

分類Dev

古い要素の参照例外 c# Selenium Webdriver

分類Dev

Python を使用した Selenium Webdriver

分類Dev

Selenium Webdriverテキストをこする方法は?

分類Dev

Selenium WebDriverの非表示要素をクリックする方法は?

Related 関連記事

  1. 1

    リンクをクリックしようとすると、WebDriver.dll の OpenQA.Selenium.ElementNotVisibleException' が表示される

  2. 2

    ElementNotVisibleException:Selenium Python

  3. 3

    Selenium Python ElementNotVisibleException

  4. 4

    Python Selenium:Webdriver例外の処理

  5. 5

    selenium-webdriver4.0が例外メッセージを表示しない

  6. 6

    Java POMクラスのSelenium WebDriver NullPointer例外

  7. 7

    Selenium Webdriver:要素が表示されない例外

  8. 8

    PythonとSelenium「execute_script」で「ElementNotVisibleException」を解決する

  9. 9

    Selenium WebDriverでTestNgを使用する方法は?

  10. 10

    Selenium-ログインでElementNotVisibleExceptionが発生する

  11. 11

    Selenium PHP Webdriver-例外をキャッチしていませんか?

  12. 12

    ElementNotVisibleException: Python + Selenium, login credentials on web

  13. 13

    Selenium WebDriverで要素が見つからない場合に、NoSuchElementExceptionまたは任意の例外を強制終了する最速の方法

  14. 14

    AmazonサインインでJavaでSeleniumを使用してorg.openqa.selenium.ElementNotVisibleExceptionを解決する方法

  15. 15

    Selenium Webdriverの使用方法は?

  16. 16

    JavaScriptをSelenium WebDriver Javaで使用する方法

  17. 17

    c#-Selenium 3.14.0 + BrowserStack-Webdriver例外-受信に失敗し、インスタンス化に失敗する

  18. 18

    selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable using Selenium

  19. 19

    カレンダーの日付入力に対するSeleniumのElementNotVisibleException

  20. 20

    セッションが作成されない例外:ChromeでSelenium Webdriverを使用する場合、Chromeのバージョンは> = xyzである必要があります

  21. 21

    Python Selenium / WebDriver例外:スクリプトを文字列に変換できませんでした

  22. 22

    Selenium 2(WebDriver)またはGeb?

  23. 23

    Selenium WebDriverでxPathを使用してSVG要素を取得する方法は?

  24. 24

    スローされた例外:WebDriver.dllの「OpenQA.Selenium.WebDriverException」

  25. 25

    テキスト例外クリック(Ruby / Selenium Webdriver)

  26. 26

    古い要素の参照例外 c# Selenium Webdriver

  27. 27

    Python を使用した Selenium Webdriver

  28. 28

    Selenium Webdriverテキストをこする方法は?

  29. 29

    Selenium WebDriverの非表示要素をクリックする方法は?

ホットタグ

アーカイブ