2016-03-21 7 views
0

セレンを初めて使用しています。そして、私は、ローカルのExcelシートからデータを取得することで、セレンのwebdriverを使って私のWebページのチェックボックスを選択したかったのです。私はこれをすべてのラジオボタンで実現しましたが、私が選択したいこれらのチェックボックスには「id」属性がありません。彼らは「価値」によってのみ区別されます。ウェブページで「値」属性を持つ複数のチェックボックスを選択する方法Selenium Webdriverを使用してExcelファイルからデータを取得する方法

HTMLコードは次のとおりです。

<input type="hidden" value="1" name="%%Surrogate_Competitors"/> 
    <label> 
    <input type="checkbox" title="Competitors" value="HP (Servers)" name="Competitors"/> 
    HP (Servers) 
    </label> 
    <br/> 
    <label> 
    <input type="checkbox" title="Competitors" value="Sun (Servers)" name="Competitors"/> 
    Sun (Servers) 
    </label> 
    <br/> 
    <label> 
    <input type="checkbox" title="Competitors" value="HP (Storage)" name="Competitors"/> 
    HP (Storage) 
    </label> 
    <br/> 
    ............ 
    ............ 

私はそれらのチェックボックスを選択するには、このコードを使用してみました:

:私はこのコードを実行すると

String Competitors=sh.getCell(column,1).getContents(); 
String delims = "[,]"; 
String[] Competitor = Competitors.split(delims); 

for(int i=0;i<Competitor.length;i++) { 
    //to select competitors 
    driver.findElement(By.cssSelector("input[value="+Competitor[i]+"]")).click(); 
} 

、エラーメッセージは以下のように生成なっています

指定されたセレクタ入力[値= HP(Storage)]が無効か、 はWebElementになりません。

これを克服し、チェックボックスを選択する方法を教えてください。

+0

有用でなければなりませんか? – Guy

+0

ええ、付属のHTMLを見つけてください。 –

答えて

0

あなたが値を引用符を追加する必要があり、CSSの識別子を確認してください:あなたがHTMLを追加することはでき

driver.findElement(By.cssSelector("input[value='" + Competitor[i] + "']")) 

このstack post

+0

ありがとう、今はうまくいきます。 –

関連する問題