java - 无法获取对象列表 Selenium Java

标签 java selenium selenium-chromedriver

source web code

enter image description here

public static void notifications(){

    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/div/div/div/div[2]/header/div/div/div/div[1]/div[2]/nav/a[3]/div/div/div")));
    WebElement notificationButton = driver.findElement(By.xpath("/html/body/div/div/div/div[2]/header/div/div/div/div[1]/div[2]/nav/a[3]/div/div/div"));
    notificationButton.click();

    Array[] posts = (Array[]) driver.findElements(By.xpath("//div[@aria_label='position: relative; min-height: 3681px;']")).toArray();
    System.out.println(posts[0]);
}

我尝试过这个,但可能很糟糕。我正在尝试将来自 Twitter 的所有通知以文本形式显示在控制台上。有什么想法吗?

最佳答案

您不需要使用数组来处理您的网页元素。您可以使用网络驱动程序按如下方式处理元素列表:

    List<WebElement> myElements = driver.findElements(By.xpath("some/path//a"));
    System.out.println("Size of List: "+myElements.size());
    for(WebElement element : myElements) 
    {        

        System.out.println("elements: "+element .getText());
    }

关于java - 无法获取对象列表 Selenium Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61368784/

相关文章:

java - 检查用户输入和 for 循环

java - 是否可以为多个列创建一个索引? hibernate

java - Selenium - 从 angularjs 组件中选择输入

java - 无法在 selenium webdriver 中加载 chrome 默认配置文件

java - OSX (Java) 上 new ChromeDriver() 抛出的 IllegalAccessError

java - 如何运行测试而不在 IE/Chrome WebDriver 的 Action 类中传递本地相对路径,并仅使用 pom 文件中的 Maven 依赖项运行

java - JsonPath 表达式来查找一组 JSON 对象中是否不存在键值对?

java - 删除 XWPFParagraph 会为其保留段落符号 (¶)

ruby-on-rails - capybara + Selenium

python - 使用未检测到的 chromedriver + selenium, python 打开第二个窗口