Selenium,如何单击没有ID的具有动态xpath的元素

问题描述

我看到有几个与此类似的问题,但对我来说都是可行的。 我正在使用一些Java机器人,现在我在一个地方堆叠:/试图用动态xpath拾取并单击日历日期

//*[@id="root"]/div/div[1]/div[2]/div[1]/div/div/div/div[3]/div/span/div/div/div/div/div/div[2]/div[2]/div[3]/div[3]/div[1]

元素就是这样

<div class="DayPicker-Day DayPicker-Day--isDisabled" tabindex="-1" role="gridcell" aria-label="Mo. 9. Nov 2020" aria-disabled="false" aria-selected="false">9</div>

我用aria-label找到了这个想法 我现在的代码是

                Calendar cal = Calendar.getInstance();
                cal.set(Calendar.YEAR,Integer.valueOf(params.getFraAar()));
                cal.set(Calendar.MONTH,Integer.valueOf(params.getFraMnd()) - 1);
                cal.set(Calendar.DAY_OF_MONTH,Integer.valueOf(params.getFraDag()));
                cal.add(Calendar.DAY_OF_MONTH,1);

                SimpleDateFormat format1 = new SimpleDateFormat("EEE. d. MMM yyyy",Locale.GERMAN);
                String fraDato = format1.format(cal.getTime());

                WebElement fraDatoElement = driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[1]/div[2]/div[1]/div/div/div/div[2]/div[1]/div[2]/div[1]/div/div[1]/div"));
                fraDatoElement.click();

                WebElement fraDatoWeb = driver.findElement(By.xpath("//*[@id=\"root\" and contains(@class=\"DayPicker-Day\") and contains(@aria-label='" + fraDato + "')]"));
                fraDatoWeb.click();

我不知道该怎么办:/一直以来我都没有这种元素异常。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)