如何在Wikipedia中提供对建议结果(下拉菜单)的单击以及Java中的硒测试?

时间:2019-01-03 10:33:11

标签: java selenium selenium-webdriver cucumber wikipedia

我尝试用Java编写硒测试用例,但遇到了问题。该测试包括单击下拉菜单。但我无法达到这个目标...

这是我的脚步。首先,我去德国维基百科:

@Given("^You want to search for \"Baum\" on \"([^\"]*)\"$")
public void youWantToSearchForOnWikipediaOrg(String page) throws Throwable
{
    System.setProperty("webdriver.chrome.driver",
            "C:\\...\\chromedriver_win32\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.get("https://"+page+"/wiki/Wikipedia:Hauptseite");
}

然后我搜索“ Baum”一词:

@Then("^You tipp the letters \"([^\"]*)\", \"([^\"]*)\" and \"([^\"]*)\"$")
public void youTippTheLettersAnd(String letter1, String letter2, String letter3) throws Throwable
{
    Thread.sleep(5);
    driver.findElement(By.xpath("//input[@id='searchInput']")).sendKeys(letter1);
    driver.findElement(By.xpath("//input[@id='searchInput']")).sendKeys(letter2);
    driver.findElement(By.xpath("//input[@id='searchInput']")).sendKeys(letter3);
    Thread.sleep(25);
}

现在有一个下拉菜单,我要单击条目“ Baum”。

@Then("^Click on the appearing Baum$")
public void clickOnTheAppearing() throws Throwable
{
    //Thread.sleep(50);
    driver.findElement(By.xpath("//a/div")).click();
}

但是xpath找不到元素。 我尝试使用不同的xpath和CSS,但无济于事...

示例:

//*[@classname='mw-searchSuggest-linkinput']//*[text()='Baum']

/html/body/div[6]/div/a[1]/div/span

/html/body/div[6]/div/a[1]/div

body > div.suggestions > div > a:nth-child(1) > div > span

网站: enter image description here

2 个答案:

答案 0 :(得分:1)

从单击下拉列表中选择值,而不是单击。

Webelement e1=driver.findElement(By.id(dropdownId)); Select s1=new Select(e1); s1.selectByVisibleText("Baum");//selecting value from dropdown

答案 1 :(得分:1)

您只需要等待一些时间,然后在加载元素后使用以下命令:

Thread.sleep(3000);

driver.findElement(By.xpath(".//a[@title='Baum']")).click();

希望对您有帮助!