如何选择下拉选项,并应在硒webdriver java代码下拉列表中点击下面的值
问题描述:
这里是代码的html代码。这里使用java selenium代码,我需要点击注销选项关闭会话。在下拉按钮,点击后注销选项会出现,我需要点击该链接如何选择下拉选项,并应在硒webdriver java代码下拉列表中点击下面的值
<div class="sp-info">
abc
<i class="fa fa-angle-down" aria-hidden="true"></i>
</div>
</a>
<ul class="main-menu" style="display: block;">
<li>
<a href="profile.php">
</li>
<li>
<a href="change_password.php">
</li>
<li>
<a href="logout.php">
在这里是用java代码硒。
driver.get(baseUrl + "owner/login.php");
driver.findElement(By.xpath("//input[@name='admin_user_name']")).sendKeys("qwerty");
driver.findElement(By.name("admin_password")).clear();
driver.findElement(By.xpath("//input[@name='admin_password']")).sendKeys("12345678");
driver.findElement(By.xpath("//button[@type='submit']")).click();
driver.manage().timeouts().implicitlyWait(10 , TimeUnit.SECONDS);
WebElement wb = driver.findElement(By.xpath("//div[contains(@class,'sp-info')]"));
Actions mouse = new Actions(driver);
mouse.moveToElement(wb).click();
WebElement wb1 = driver.findElement(By.xpath("//a[contains(@href,'logout.php')]"));
mouse.moveToElement(wb1).click();
答
使用XPath获取元素的路径。 您可以使用浏览器获取XPath。
例如: 元素= findElement(By.xpath( “// * [@测试-ID = 'logout.php']”);
+0
谢谢。但问题是注销选项是在下拉选项,并显示错误消息为“元素当前不可见,因此可能不会与”交互“,我用下面的代码WebElement mySelectElm = driver.findElement(By.xpath(”// a [含有(@ HREF, 'logout.php')]“)); – shreyas
答
您可以尝试使用行动点击元件在所述滴Dow 。
driver.manage().timeouts().implicitlyWait(10 , TimeUnit.SECONDS);
wb = driver.findElement(<xpath_to_go_to_menu_dropdown>);
Actions mouse = new Actions(driver);
mouse.moveToElement(wb).click();
WebElement wb1 = driver.findElement(<xpath_to_go_value_in_dropdown>);
mouse.moveToElement(wb1).click();
mouse.build();
mouse.perform();
答
根据您的意见,似乎你被告知该元素是不可见的。
您是否尝试过使用明确的等待呢?所以,当你打开包含你给注销选项菜单它有机会出现,例如:
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[contains(@href,'logout.php')]")));
希望那么它应该找到它,你可以与它进行交互。
如何试着解决这个问题? – noor