在使用selenium和java创建webelement列表时,参数类型int、dimension error的运算符< 未定义

0yg35tkg  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(343)

打印selenium中的所有链接时出现此错误。如果实际问题在这一行需要帮助(从在线教程中学习),有哪些替代选项:

List<WebElement> alltags = (List<WebElement>) driver.findElement(By.tagName("a"));

代码块:

package ui;
import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import io.github.bonigarcia.wdm.WebDriverManager;

public class PrintAllLinks {

    public static String browser = "chrome"; //Which Browser you want to Test?
    public static WebDriver driver;

    public static void main(String[] args) {

        if(browser.equals("Firefox"))
        {
            WebDriverManager.firefoxdriver().setup();
            driver = new FirefoxDriver();
        } else if(browser.equals("chrome"))
        {
            WebDriverManager.chromedriver().setup();
            driver = new ChromeDriver();
        } else if(browser.equals("edge"))
        {
            WebDriverManager.edgedriver().setup();
            driver = new EdgeDriver();
        }

        driver.get("https://www.sugarcrm.com/request-demo/");
        driver.manage().window().maximize();

        List<WebElement> alltags = (List<WebElement>) driver.findElement(By.tagName("a"));
        System.out.println("Total tags are" + alltags.size());

        for(int i=0; i<alltags.size(); i++)
        {
            System.out.println("Links on page are" +alltags.get(i).getAttribute("href"));
            System.out.println("Links on page are" +alltags.get(i).getText());
        }

        driver.close();
    }

}
bksxznpy

bksxznpy1#

findelements() findElements() 返回所有匹配WebElement的列表,如果没有匹配项,则返回空列表。

因此,您需要做以下两个更改:
而不是 findElement() 使用 findElements() 删除显式转换以 List<WebElement> .
实际上,您的代码行将是:

List<WebElement> alltags =  driver.findElements(By.tagName("a"));

相关问题