我如何通过 java 中的硒测试提供对维基百科中建议结果(下拉菜单)的点击?
How I can provide the click on a suggestions-result (dropdown menu) in wikipedia with a selenium test in java?
我尝试在 java 中编写 selenium 测试用例,但我遇到了问题。测试涉及单击下拉菜单。但是我达不到这个...
这是我的步骤。首先我去德国的维基百科:
@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
网站:
不是单击,而是 Select 下拉列表中的值。
Webelement e1=driver.findElement(By.id(dropdownId));
Select s1=new Select(e1);
s1.selectByVisibleText("Baum");//selecting value from dropdown
您只需要稍等片刻,然后在元素加载后使用以下命令:
Thread.sleep(3000);
driver.findElement(By.xpath(".//a[@title='Baum']")).click();
希望对您有所帮助!
我尝试在 java 中编写 selenium 测试用例,但我遇到了问题。测试涉及单击下拉菜单。但是我达不到这个...
这是我的步骤。首先我去德国的维基百科:
@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
网站:
不是单击,而是 Select 下拉列表中的值。
Webelement e1=driver.findElement(By.id(dropdownId));
Select s1=new Select(e1);
s1.selectByVisibleText("Baum");//selecting value from dropdown
您只需要稍等片刻,然后在元素加载后使用以下命令:
Thread.sleep(3000);
driver.findElement(By.xpath(".//a[@title='Baum']")).click();
希望对您有所帮助!