-1

IE ブラウザは Action クラスをサポートしていません。他の方法を使用してテーブル内の項目を複数選択することは可能ですか? もしあれば、共有してください。

値を選択するには、テーブルのサンプル構造を見つけてください。ここで、Text1、Text3、および Text5 の値を選択します。Selenium 2.52.0を使用してChrome、FFブラウザでActionクラスを使用して選択できますが、IE/Safariでは選択できません。

<table>
<tr><td><div><span>Text1<span/><div/><td/><tr/>
<tr><td><div><span>Text2<span/><div/><td/><tr/>
<tr><td><div><span>Text3<span/><div/><td/><tr/>
<tr><td><div><span>Text4<span/><div/><td/><tr/>
<tr><td><div><span>Text5<span/><div/><td/><tr/>
<table>

クリックに使用される機能:

String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++) 
{
    this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
    List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
    int itemCnt =  element.size();
    String item;
    for(int i =0;i<itemCnt;i++){
    item = element.get(i).getText();            
    if(item.equalsIgnoreCase(items[counter])){
    builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
    builder.build().perform();
     }
     }
    }
4

1 に答える 1

-1

まず、テーブルを調べることができます

WebElement data1=d.findElement(By.xpath(""));

次に、行ごとに選択します

List<WebElement> tableRows = data1.findElements(By.tagName("tr"));

ループを使用すると、列全体で繰り返すことができます

for (int i=0; i<rowSize; i++) 
    {
        WebElement webRow = tableRows.get(i);
        //Get all cell values in each row
        List<WebElement> allCells = webRow.findElements(By.tagName("td"));
        //System.out.println(allCells.size());
        if(allCells.size() > 1)
        {
            row = st1.createRow(i);
            for (int j=0; j<allCells.size(); j++)
            {
                WebElement webCell = allCells.get(j);
                String text = webCell.getText();
                if(text.length()>3)
                {
                    cell = row.createCell(j);
                    cell.setCellValue(webCell.getText());
                }
            }
        }

一度お試しください..!!

于 2016-10-07T06:33:46.187 に答える