我希望能夠通過引數輸入值來單擊“男”或“女”選項
public void enter_gender_as(String gender) {
WebElement g = driver.findElement(By.cssSelector("input[value=(gender)]"));
g.click();
}
HTML 片段
uj5u.com熱心網友回復:
方法:
public static void selectRadioButtonByValue(List<WebElement> radioButtons, String value) {
for (WebElement radioButton: radioButtons) {
if (radioButton.getAttribute("value").toLowerCase().equals(value.toLowerCase())) {
radioButton.click();
break;
}
}
}
用法:
List<WebElement> radioButtons = driver.findElements(By.id("gender"));
selectRadioButtonByValue(radioButtons, "male");
可選與WebDriver driver作為引數:
public static void selectRadioButtonByValue(WebDriver driver, List<WebElement> radioButtons, String value) {
for (WebElement radioButton: radioButtons) {
if (radioButton.getAttribute("value").toLowerCase().equals(value.toLowerCase())) {
radioButton.click();
break;
}
}
}
selectRadioButtonByValue(driver, radioButtons, "male");
uj5u.com熱心網友回復:
你已經知道了,只需像這樣撰寫代碼:
public void enter_gender_as(String gender) {
WebElement g = driver.findElement(By.cssSelector("input[value=(" gender ")]"));
g.click();
}
然后正確呼叫它:
enter_gender_as("Male");
如果你想花哨,那么你可以放ifs 來檢查值是否不是Male或Female。你可以使gender .toLowerCase(). 您可以添加顯式等待,例如ExpectedCondition等待元素加載。但這是基本功能。下面是一個“花哨”的例子:
public void enter_gender_as(String gender) {
if(!gender.equalsIgnoreCase("Male") && !gender.equalsIgnoreCase("Female")){
System.out.println("Not a valid value! Please enter Male or Female");
}
WebElement g = driver.findElement(By.cssSelector("input[value=(" gender.toLowerCase ")]"));
new WebDriverWait(driver, [int for timeout]).until(ExpectedConditions.visibilityOf(g));
g.click();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/329949.html
上一篇:如何始終下載最新版本的chromedriver和geckodriver?
下一篇:使用seleniumWebDriver為站點制作自動機。但是由于某種原因,xpath帶有下劃線。有誰知道這是什么原因?
