Java selenium webdriver中的下拉功能不起作用
在Selenium中运行测试时,尝试单击下拉菜单中的元素时出现问题。因此,根据下面的屏幕截图,我将鼠标悬停在“报告”,然后是“资产管理”,然后是“终止报告:待定”。单击“已终止报告:待定”选项应将我带到相应页面 为此,我在WebDriver中编写了以下代码:Java selenium webdriver中的下拉功能不起作用,java,selenium,webdriver,Java,Selenium,Webdriver,在Selenium中运行测试时,尝试单击下拉菜单中的元素时出现问题。因此,根据下面的屏幕截图,我将鼠标悬停在“报告”,然后是“资产管理”,然后是“终止报告:待定”。单击“已终止报告:待定”选项应将我带到相应页面 为此,我在WebDriver中编写了以下代码: public static void terminatedReportPendingFocus(InternetExplorerDriver driver) { WebElement terminatedReportPen
public static void terminatedReportPendingFocus(InternetExplorerDriver driver)
{
WebElement terminatedReportPendingFocus = driver.findElement(By.xpath("//a[contains(@href,'GetTerminatedPendingReport')]"));
terminatedReportPendingFocus.click();
}
我没有发现任何问题,因为我使用了类似的代码来访问“终止报告:挂起”页面。但是,由于某种原因,当我运行测试时,浏览器最初关注我想要的元素,然后失去关注,并下拉到“集合”下拉列表,选择一个与我在代码中选择的href完全不同的页面。有人能帮忙解释一下原因吗?非常感谢
资产管理实施
public static void assetManagementFocus(InternetExplorerDriver driver)
{
WebElement assetManagementFocus = driver.findElement(By.xpath(".//*[text()='Asset Management']"));
Actions hoverOnReportWindow = new Actions(driver);
hoverOnReportWindow.moveToElement(assetManagementFocus).build().perform();
assetManagementFocus.click();
}
代码的完整实施
public class optionFocusControls {
//REPORTS TAB
public static void reportWindowFocus(InternetExplorerDriver driver)
{
WebElement reportWindowFocus = driver.findElement(By.linkText("Reports"));
Actions hoverOnReportText = new Actions(driver);
hoverOnReportText.moveToElement(reportWindowFocus).build().perform();
}
public static void assetManagementFocus(InternetExplorerDriver driver)
{
WebElement assetManagementFocus = driver.findElement(By.xpath(".//*[text()='Asset Management']"));
Actions hoverOnReportWindow = new Actions(driver);
hoverOnReportWindow.moveToElement(assetManagementFocus).build().perform();
assetManagementFocus.click();
}
public static void daysInStockFocus(InternetExplorerDriver driver)
{
WebElement daysInStockFocus = driver.findElement(By.xpath(".//*[text()='ET Days In Stock']"));
Actions hoverOnDaysInStock = new Actions(driver);
hoverOnDaysInStock.moveToElement(daysInStockFocus).build().perform();
daysInStockFocus.click();
}
public static void terminatedReportCompletedFocus(InternetExplorerDriver driver)
{
WebElement terminatedReportCompletedFocus = driver.findElement(By.xpath("//a[contains(@href,'GetTerminatedCompletedReport')]"));
terminatedReportCompletedFocus.click();
}
public static void terminatedReportPendingFocus(InternetExplorerDriver driver)
{
WebElement terminatedReportPendingFocus = driver.findElement(By.xpath("//a[contains(@href,'GetTerminatedPendingReport')]"));
terminatedReportPendingFocus.click();
}
}
修复-01/12/14
public static void terminatedReportPendingFocus(InternetExplorerDriver driver)
{
driver.findElement(By.xpath("//a[contains(text(),'Terminated Report: Completed')]")).sendKeys(Keys.ENTER);
}
尝试下面的代码,让我知道发生了什么
WebElement Reports = driver.findElement(By.xpath("--------//---As per your code"));
WebElement Asset Management = driver.findElement(By.xpath("--------//---As per your code"));
WebElement Terminated_Report_Pending = driver.findElement(By.xpath("--------//---As per your code"));
Actions builder = new Actions(driver);
builder.moveToElement(Reports).perform();
Thread.sleep(3000);
builder.moveToElement(Asset Management).perform();
Terminated_Report_Pending.click();
从下面的代码中尝试
public static void assetManagementFocus(InternetExplorerDriver driver)
{
WebElement assetManagementFocus = driver.findElement(By.xpath(".//*[text()='Asset Management']"));
Actions hoverOnReportWindow = new Actions(driver);
hoverOnReportWindow.moveToElement(assetManagementFocus).build().perform();
Thread.sleep(3000);
assetManagementFocus.click();
}
你能提供你的实现代码吗?我有兴趣了解“资产管理”的元素检测方法。你好,鲁佩什,谢谢回复。我已经附上了上面名为“资产管理实施”的实施代码。我已经修改了我的代码,包括手动等待3秒。请测试并让我知道很好,非常感谢。所以,我只需要将这本手册添加到我放在原始便笺上的代码片段中,等待3秒钟?资产管理功能正常工作,所以我不需要对代码的这一部分应用wait命令吗?那太好了。如果您能让我的答案正确,或者对它进行投票,以便其他具有相同问题的用户可以以相同的方式进行修复,我将不胜感激。