疑點1:下來也有相同名稱的兩個值假設,如果在下降, 那我怎麼才能選擇使用他們選擇類別的1個值?
你可以去selectByIndex或selectByValue方法。因此,如果您知道下拉菜單中的兩個選項相同,並且您希望選擇第二個選項,請按索引選擇選項。
Select select = new Select(driver.findElement(By.id("dropDown_id_here")));
select.selectByIndex(2);
如果2個選項的文本是相同的,值是不同的,那麼你可以使用:
select.selectByValue("op2");
疑點二:假設在一個下拉存在值「緊急」。我需要在dev和production中運行 腳本。在dev url中,下拉值是 ,大寫即EMERGENCY。但是在Prod env中,下降值爲 ,即緊急情況。我需要以如此 的方式使腳本選擇下拉值,而不管 的下拉值的情況如何。我可以通過檢查env是否爲dev,然後執行 這樣做。但我不想這樣做。我該怎麼做 它使用Select類或其他相關方式來做到這一點?
Select select = new Select(driver.findElement(By.id("dropDown_id_here")));
List<WebElement> options = select.getOptions();
for(WebElement option : options)
{
if(option.getText().equalsIgnoreCase("emergency"))
{
option.click();
break;
}
}
請注意,我已經寫上在此編輯器飛上面的代碼。它可能在語法上是錯誤的。請把它想出來。
你能否以更好的方式解釋你的第二個疑問。目前還不清楚你想達到什麼目的。 –
嗨更新了問題 – user3411418
元素的'values'是不同的?對於這兩種情況,您都可以'selectByValue()'而不是'selectByVisibleText()'。 –