我想通过选择汽车品牌,型号和电机类型链接下拉列表
所以我尝试了以下代码:
System.setProperty("webdriver.chrome.driver", "C:\\geckodriver\\chromedriver.exe");
ChromeDriver webDriver = new ChromeDriver();
webDriver.get("http://www.mister-auto.com/");
// Select the car brand
Select option = new Select(webDriver.findElement(By.id("f_select_marque")));
option.selectByVisibleText("Mercedes-Benz");
// Select the car model
WebDriverWait wait = new WebDriverWait(webDriver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("f_select_modele")));
Select carmodel = new Select(webDriver.findElement(By.id("f_select_modele")));
carmodel.selectByValue("530");
// Select the car motor
Select carmotor = new Select(webDriver.findElement(By.id("f_select_type")));
carmotor.selectByValue("7523");
汽车品牌选择还可以,但型号和电机类型没有任何反应
你能帮帮我吗
感谢
伊夫
答案 0 :(得分:0)
试试这段代码:
System.setProperty("webdriver.chrome.driver", "C:\\geckodriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
WebDriverWait wait = new WebDriverWait(driver, 30);
webDriver.get("http://www.mister-auto.com/");
// Select the car brand
Select option = new Select(webDriver.findElement(By.id("f_select_marque")));
option.selectByVisibleText("Mercedes-Benz");
// Select the car model
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("select[id='f_select_modele']>option")));
Select carmodel = new Select(driver.findElement(By.id("f_select_modele")));
carmodel .selectByValue("530");
// Select the car motor
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("select[id='f_select_type']>option")));
Select carmotor = new Select(webDriver.findElement(By.id("f_select_type")));
carmotor.selectByValue("7523");
答案 1 :(得分:0)
根据您提供的http://www.mister-auto.com/
链接下拉列表的网站,选择汽车品牌,模型和电机类型您必须诱导 WebDriverwait 才能使所需的元素可点击,您可以使用以下解决方案:
代码块:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
public class dropDown_mister_auto_com {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
WebDriver webDriver = new FirefoxDriver();
webDriver.get("http://www.mister-auto.com/");
// Select the car brand
new WebDriverWait(webDriver, 10).until(ExpectedConditions.elementToBeClickable(By.id("f_select_marque")));
Select option = new Select(webDriver.findElement(By.id("f_select_marque")));
option.selectByVisibleText("Mercedes-Benz");
// Select the car model
new WebDriverWait(webDriver, 10).until(ExpectedConditions.elementToBeClickable(By.id("f_select_modele")));
Select carmodel = new Select(webDriver.findElement(By.id("f_select_modele")));
carmodel.selectByValue("530");
// Select the car motor
new WebDriverWait(webDriver, 10).until(ExpectedConditions.elementToBeClickable(By.id("f_select_type")));
Select carmotor = new Select(webDriver.findElement(By.id("f_select_type")));
carmotor.selectByValue("7523");
}
}
浏览器快照: