如何点击webelement问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何点击webelement问题相关的知识,希望对你有一定的参考价值。

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

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

        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();

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

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

以上是关于如何点击webelement问题的主要内容,如果未能解决你的问题,请参考以下文章