我正在尝试使用selenium webdriver为我的应用程序之一进行自动化。问题是我试图从表中获取包含“div”标签内的值的数据。该表只是一个日历。
这是我从表中获取值的代码。(即div标签)
public boolean webElement_Table_findCellValue_WD(String locatorType, String locatorVal, String cellText){
boolean elementStatus = false;
WebElement tbl = this.getWebElement(locatorType, locatorVal);
List<WebElement> tbTag=tbl.findElements(By.tagName("table"));
int num=tbTag.size();
System.out.println("hhhhhhhhhhhhhhhhhhh"+num);
for(WebElement tbTagEle: tbTag)
{
List<WebElement> trTag=tbTagEle.findElements(By.tagName("tr"));
System.out.println("iiiiiiiiiiiiii"+trTag.size());
for(WebElement trTagEle: trTag)
{
List<WebElement> tdTag=trTagEle.findElements(By.tagName("td"));
System.out.println("jjjjjjjjjjjjj"+tdTag.size());
for(WebElement tdTagEle: tdTag)
{
List<WebElement> divTag=tdTagEle.findElements(By.tagName("div"));
for(WebElement divTagEle: divTag)
System.out.println("the contents are:"+divTagEle.getText());
}
}
}
return elementStatus;
}
我的目的只是从日历中选择(点击)日期。(表格)我会将其传递给属性文件。
答案 0 :(得分:0)
在回答问题的第一部分时,@ Strite Alfa得到了大部分的帮助。
以下内容将打印每个表格中每个单元格中的<div>
内容(无论是一个还是多个):
for (WebElement elem : driver.findElements(By.cssSelector("table td div"))) {
System.out.println("Each div:" + elem.getText());
}
我不知道您是否需要将这些值存储在List
中。你的其余部分不是很清楚,但希望你能从这里解决它。
答案 1 :(得分:-1)
以下将找到特定的日期表,并单击same.pass日期值作为参数。
WebElement el = driver.findElement(By.xpath("//table//div[contains(.,'"+date+"')]"))
el.click();