如何点击webelement问题

问题描述 投票:0回答:1

我有一个页面,可以在页面上有几个日期选择器。

我运行第一个循环找出有多少日期选择器。

        List<WebElement> calanders = driver.findElements(By.cssSelector(".c-input-group__addon"));  
        for(int i1=0; i1<calanders.size(); i1++) {      
        System.out.println("how many calanders " +i1);
        }

然后我遍历datepicker并单击所需的日期。

然后我需要点击一个按钮关闭选择器继续,这是我遇到问题的地方。

calanders.get(1).findElements(By.xpath("//label[contains(@class,'c-option')]")).click;

我怎么能点击By.xpath("//label[contains(@class,'c-option')]的第二次出现?

    List<WebElement> calanders1 = driver.findElements(By.cssSelector(".c-input-group__addon"));  
    for(int i1=1; i1<calanders1.size(); i1++) {         

    driver.findElements(By.cssSelector(".c-input-group__addon"));

     calanders1.get(i1).findElement(By.xpath("//label[contains(@class,'c-option')]")).click();

    }
java selenium-webdriver webdriver
1个回答
0
投票
  1. 尝试通过F12找到xpath上页面上有多少元素。也许它无法点击,因为你的定位器有超过1的元素。
  2. 你可以添加服务员,直到元素可点击。或者只是添加Thread.sleep(),但这不是一个好习惯。

附:最好将异常日志打印到您的问题中

© www.soinside.com 2019 - 2024. All rights reserved.