我在以下网站上:https://www.mister-auto.com/ 在“ Ensélectionnantmonvéhicule”部分中,我想选择品牌'Peugeot',模型'107 [06/2005'和汽车的电机'1.0(68Cv),我为品牌尝试过此操作,但没有工作:
Select option = new Select(driver.findElement(By.xpath("/div[@class='dropdown'][1]/select[@class='form-control col-xs-12 ng-pristine ng-valid ng-not-empty ng-touched']")));
option.selectByVisibleText("Peugeot");
知道为什么吗?
干杯。
答案 0 :(得分:3)
这应该有效:
WebElement element=driver.findElement(By.xpath("//select[@ng-model='brand_id']"));
Select option=new Select(element);
option.selectByValue("88");
现在,如果您必须在随后的Peugeout下拉列表中单击模型1007,则需要使用如下所示的JavascriptExecutor。这是因为它是一个optgroup元素,并且optgroup的Select类中还没有任何内容。
WebElement element2=driver.findElement(By.xpath("//select[@ng-model='model_id']"));
element2.click();
WebElement element1=driver.findElement(By.xpath("//select[@ng-model='model_id']/optgroup[contains(@label,'1007')]"));
((JavascriptExecutor)driver).executeScript("arguments[0].click();", element1);