簡體   English   中英

java - 如何在java-selenium中不使用findElement()或findElements()來檢查元素的存在?

[英]How to check the presence of an element without using findElement() or findElements() in java-selenium?

場景是

  1. 在不使用 findElement() 或 findElements() 方法的情況下在 selenium 中查找元素。
  2. 代碼不應拋出任何異常。 相反,如果找到元素,則找到打印元素,否則找不到打印元素。 (而不是打印一個可以做任何他/她想做的事情)。

為了查找元素是否存在,我在 selenium-java 中使用了 JavascriptExecutor。

下面是代碼。 我已經使用document.getElementById(id)演示了解決方案,您可以使用其他方法,如document.getElementsByTagName(name)document.getElementsByClassName(className)等。 為了演示,我使用了http://automationpractice.com/index.php

        System.setProperty("webdriver.chrome.driver", "chromedriver_path");
        WebDriver driver = new ChromeDriver();

        driver.get("http://automationpractice.com/index.php");
    
        JavascriptExecutor js = (JavascriptExecutor) driver;
        boolean found = (boolean) js.executeScript(
                "var element = document.getElementById(\"search_query_top\"); if(typeof(element) != 'undefined' && element != null){return true ;}else{return false;}");
        if(found)
            System.out.println("Element Found");
        else
            System.out.println("Elemnet not Found");
        
        driver.close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM