簡體   English   中英

如何使用Selenium WebDriver在表的div標記中獲取值

[英]How to get the value inside a div tag in a table using selenium webdriver

我正在嘗試使用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;   

}

我的目的只是從日歷中選擇(單擊)日期。(表)將其通過屬性文件傳遞。

在回答問題的第一部分時,@ Striter Alfa掌握了大部分方法。

下面將打印每個表(無論是一個還是多個)中每個單元格中每個<div>的內容:

for (WebElement elem : driver.findElements(By.cssSelector("table td div"))) {
    System.out.println("Each div:" + elem.getText());
}

我不知道您是否需要將這些值存儲在List 您的其余問題不是很清楚,但是希望您可以從這里解決。

下面將找到特定的日期表,然后單擊same.pass日期值作為參數。 WebElement el = driver.findElement(By.xpath("//table//div[contains(.,'"+date+"')]")) el.click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM