我有日历,我想选择一个合适的日期,每天都会执行测试,并且我有采用今天日期的方法。
我有WebElement pickDay,它应该找到想要的日期,HTML代码是:
<td class="class" <data-hanlder="selectDay" data-month="5" data-year="2018">
<a class="classX">5</a>
</td>
和xPath表达式是(例如):
String whichMonth = "5"
String whichDay = "5"
day = driver.findElement(By.xpath("//*[contains(@text(),"+whichDay+") AND (@data-month,"+whichMonth+")]"));
但是intellij一直告诉我:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//*[contains(@text(),5) AND (@data-month,5)]' is not a valid XPath expression.
我真的不知道这个表达式有什么问题。
答案 0 :(得分:3)
1)text()是一个函数,而不是参数。 @此处不需要
2)请勿在一个月内使用contains()以避免混乱(例如1、10、11、12)
尝试以下方法:
//*[@data-month="+whichMonth+"]/a[text()="+whichDay+"]
答案 1 :(得分:0)
请尝试执行以下操作,因为您的xpath似乎缺少撇号:
option-1