我试图使用Selenium从Autotrader网站上检索所有汽车品牌。有一个下拉框根据在给定时间可供销售的汽车而变化。
我已尝试过stackoverflow上列出的许多解决方案,但我的代码并没有返回任何内容。
非常感谢任何帮助!
这是我的代码......
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.support.ui.Select;
public class AutotraderScraper {
public static void main(String[] args) throws InterruptedException
{
WebDriver driver = new HtmlUnitDriver();
// Visit autotrader website
driver.get("http://www.autotrader.co.uk/");
// Look for car make box
Select select = new Select(driver.findElement(By.id("searchVehiclesMake")));
// Get all options
List<WebElement> allOptions = select.getOptions();
// Iterate through available options
java.util.Iterator<WebElement> i = allOptions.iterator();
// Print options
while(i.hasNext()) {
WebElement row = i.next();
System.out.println("Found an option!");
System.out.println(row.getText());
}
}
}
答案 0 :(得分:0)
这是一个重复的ID,正在本页面的两个不同位置使用。
我建议您使用xpath
查找select element
以下xpath
可以使用
//h1[.='Find new & used cars']/..//*[@id='searchVehiclesMake']
Find new&amp; amp;中的目标元素二手车部分