我尝试从输入文本框中获取数据,并在没有id
和name
的情况下进行更新。以下是该输入标记的HTML代码。此处id
,name
和value
会因元素而异。
<input id="rgrdSearchResult_ctl00_ctl06_dtpLocalDateTime_dateInput" name="rgrdSearchResult$ctl00$ctl06$dtpLocalDateTime$dateInput" class="riTextBox riEnabled" value="03/06/2017 17:00" type="text">
我尝试了以下代码。
public String getDateTime(WebDriver driver){
List<WebElement> lis = driver.findElements(By.className("riEnabled"));
WebElement ele = lis.get(1);
return ele.getAttribute("value");
}
答案 0 :(得分:0)
我怀疑这里的问题是By.className
正在寻找的是整个文本"riTextBox riEnabled"
(包括空格字符)。如果您将选择器更改为By.className("riTextBox riEnabled")
,它可能会有效,但我怀疑这是您想要的。
请尝试使用By.cssSelector
。有多种方法可以做到这一点,例如:
By.cssSelector("input[contains(@class, 'riEnabled')]")
By.cssSelector("input[class*='riEnabled']")