我是Selenium webDriver的新手。以下是我用来选择日,月和日的代码。从Facebook下拉开始的一年。
public class Facebook {
public static void main(String[] args) throws InterruptedException{
System.setProperty("webdriver.gecko.driver", "E:/Selenium/geckodriver-v0.11.1-win64/geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.facebook.com/");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.id("u_0_1")).sendKeys("selenium");
driver.findElement(By.id("u_0_3")).sendKeys("selenium");
driver.findElement(By.id("u_0_5")).sendKeys("1234567891");
driver.findElement(By.id("u_0_8")).sendKeys("1234567891");
Thread.sleep(500);
new Select(driver.findElement(By.xpath(".//*[@id='day']"))).selectByVisibleText("17");
Thread.sleep(500);
new Select(driver.findElement(By.id("month"))).selectByVisibleText("Aug");
new Select(driver.findElement(By.id("year"))).selectByVisibleText("1988");
driver.findElement(By.id("u_0_i")).click();
driver.findElement(By.id("u_0_e"));
无法选择下拉列表。请帮助我。
提前致谢。 :)
答案 0 :(得分:0)
由于您未在代码段中捕获所有必要的详细信息,因此我只能提供潜在客户。
WebElement selElem=driver.findElement(By.xpath(".//*[@id='day']")));
Select sel=new Select(selElem);
sel.selectByVisibleText("Aug");
答案 1 :(得分:0)
请尝试以下代码。
从wait
选择中选择每个值后,我只需增加dropdown
。
注意: - 如果元素中存在id,则使用id locator
,而不是使用xpath locator
。
new Select(driver.findElement(By.id("day"))).selectByVisibleText("17");
Thread.sleep(1000);
new Select(driver.findElement(By.id("month"))).selectByVisibleText("Aug");
Thread.sleep(1000);
new Select(driver.findElement(By.id("year"))).selectByVisibleText("1988");
答案 2 :(得分:0)
您可以使用此代码,它将适合您:
System.setProperty("webdriver.gecko.driver", "E:/Selenium/geckodriver-v0.11.1-win64/geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://www.facebook.com/");
driver.findElement(By.id("u_0_1")).sendKeys("selenium");
driver.findElement(By.id("u_0_3")).sendKeys("selenium");
driver.findElement(By.id("u_0_5")).sendKeys("1234567891");
driver.findElement(By.id("u_0_8")).sendKeys("1234567891");
new Select(driver.findElement(By.id("day"))).selectByVisibleText("17");
new Select(driver.findElement(By.id("month"))).selectByVisibleText("Aug");
new Select(driver.findElement(By.id("year"))).selectByVisibleText("1988");
driver.findElement(By.id("u_0_i")).click();
您的代码中存在错误,即如果您使用隐式等待,那么您必须在网址启动之前编写它。在你的情况下,你在url启动后写了它。现在复制并粘贴此代码,它肯定会有效。