以下是我用来从日历中搜索日期的两个代码段,其中包含" From Date"和"迄今为止"。
webDriver.findElement(By.xpath("//table/tbody/tr/a[contains(text(),'October 30')]")).click();
webDriver.findElement(By.xpath("//table/tbody/tr/a[contains(text(),'October 31')]")).click();
错误消息显示: 线程" main"中的例外情况org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{"方法":" xpath","选择器":" / / table / tbody / tr / a [contains(text(),' 10月30日')]"}
答案 0 :(得分:1)
要解决的两件事(至少):
a
元素不是tr
的直接子元素,还有一个级别 - td
元素title
属性,而不是text()
修正版:
//table/tbody/tr/td/a[contains(@title, 'October 30')]
或者,通过严格的平等检查:
//table/tbody/tr/td/a[@title = 'October 30']
或者,避免检查父母:
//a[@title = 'October 30']
或者,您也可以尝试使用更简洁的 CSS选择器:
webDriver.findElement(By.cssSelector("a[title='October 30']")).click();
答案 1 :(得分:1)
不要依赖日期。它不稳定,因为从日期到日期不是固定日期。每个记录都可能会发生变化。