选择汽车品牌> &model;关于链接下拉列表的电机

时间:2018-05-14 13:35:48

标签: java selenium selenium-webdriver

我在http://www.mister-auto.com/

我想通过选择汽车品牌,型号和电机类型链接下拉列表

所以我尝试了以下代码:

        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");

汽车品牌选择还可以,但型号和电机类型没有任何反应

你能帮帮我吗

感谢

伊夫

2 个答案:

答案 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");
    }
}

浏览器快照:

mister-auto