package com.thinksys.dd;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class Autodd
{
public static void main(String[] args)
{
System.setProperty("webdriver.gecko.driver","C:\\Users\\thinksysuser\\Downloads\\geckodriver-v0.18.0-win64\\geckodriver.exe");
WebDriver driver= new FirefoxDriver();
driver.get("http://newtours.demoaut.com/mercuryregister.php?%20osCsid=e6b6a3a86207b80bb2d346a613c378da");
WebElement e = driver.findElement(By.name("country"));
Select index = new Select(e);
index.selectByVisibleText("PORTUGAL");
}
}
答案 0 :(得分:0)
用以下代码替换您的代码。它应该可以工作。
index.selectByVisibleText("PORTUGAL ");
答案 1 :(得分:0)
这里的实际问题不在于选择类或其方法。我们在这里缺少隐含的等待。只需在启动驱动程序后添加隐式等待,然后代码就可以了。
System.setProperty("webdriver.gecko.driver", "/home/santhoshkumar/Softwares/Selenium/drivers/geckodriver");
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("http://newtours.demoaut.com/mercuryregister.php?%20osCsid=e6b6a3a86207b80bb2d346a613c378da");
WebElement e = driver.findElement(By.name("country"));
Select index = new Select(e);
index.selectByVisibleText("PORTUGAL");
希望这会有所帮助。感谢。
答案 2 :(得分:0)
问题出现了,因为我的Firefox浏览器没有更新到最新版本,因为我已经完成了它运行得很好。
答案 3 :(得分:-2)
使用xpath
定位器尝试此代码。
注意: - 在执行下面的代码之前提供几秒wait
而不是使用absolute
xpath,请使用relative
xpath。
new Select(driver.findElement(By.xpath("//select[@name='country']"))).selectByVisibleText("PORTUGAL");
OR
new Select(driver.findElement(By.xpath("//select[@name='country']"))).selectByValue("167");