2017-02-23 7 views
2

を「クリック」ではなく、通常の「+クリックCtrlキー」を押します。Chromedriverは私がやっている何

HTML:

<select name="countyIds" id="countyIds" class="filter" multiple=""> 
     <option value="864">Banskobystrický kraj</option> 
     <option value="821" selected="selected">Bratislavský kraj</option> 
     <option value="892" selected="selected">Košický kraj</option> 
     <option value="844">Nitriansky kraj</option> 
     <option value="878">Prešovský kraj</option> 
     <option value="834">Trenčiansky kraj</option> 
     <option value="826">Trnavský kraj</option> 
     <option value="852">Žilinský kraj</option> 
</select> 

あなたは第二と第三の選択肢で2つのselectedの値を見ることができます。どのように通常の "クリック"を行うには?

答えて

0

あなたは代わりに、直接クリックするのを選択したオブジェクトを使用することができます。

using OpenQA.Selenium.Support.UI; 

// select the drop down list 
var countries = driver.FindElement(By.Name("countries")); 
//create select element object 
var selectElement = new SelectElement(countries); 

//select by value 
selectElement.SelectByValue("844"); 
// select by text 
selectElement.SelectByText("Prešovský kraj"); 
+0

上記の問題は.SelectByValueと.SelectByTextは同じ動作を持って、彼らは選択された要素の選択が解除されることはありませんということです、最初にDeselectAll()を呼び出す必要があります。しかし、時にはウェブページで何も選択されていない選択ボックスがあるとは思わない。実際のユーザーとしてクリックすると、現在選択されているオプションの選択が解除され、クリックされたオプションに切り替わる複数の選択ボックスがありますが、ChromeDriverでこの動作を達成できません。 DeselectAll()を使用すると、ユーザーの操作が一致しません。 –

関連する問題