2
什麼我做的是:Chromedriver按下「Ctrl +單擊」,而不是正常的「點擊」
return element(by.xpath('//*/*[@id = "countyIds"]/option[contains(text(),"'+value+'")]')).click();
但我可以看到它「Ctrl +單擊」導致兩個值留突出。
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>
你可以看到第二個和第三個方案二selected
值。如何使正常的「點擊」?
上述的問題是,.SelectByValue和.SelectByText具有相同的行爲,它們不會導致被取消選擇的元素,您需要先調用DeselectAll()。但是,有時網頁不會有一個沒有選擇的選擇框。我有一個多選框,如果我點擊爲一個實際用戶,它會取消選擇當前選中的選項並切換到單擊選項,但我無法通過ChromeDriver實現此行爲。使用DeselectAll()與用戶做的不匹配。 –