我的测试脚本是使用Java和Selenium webdriver api开发的。有一个特殊情况,我需要点击从下拉菜单加载的子选项,但我无法做到这一点。以下是特定问题的测试步骤和屏幕截图。
- 启动Microsoft Outlook Web App(OWA)并登录
- 在主屏幕上我需要在搜索字段中输入一些文字
- 点击旁边的下拉列表
- 从加载的选项中选择“此文件夹” (Screenshot)
我没有看到任何frameid,所以没有使用任何。下拉列表工作正常但未能点击子选项。
添加我正在使用的代码,点击此
public static final By searchDropDown_locator= By.xpath(".//*[@id='divSScp']");
public static final By thisFolderText_locator= By.xpath("(.//*[@id='spnT' and text()='This Folder'])[2]");
public void clickSearchDropDown()
{
WebElement searchIcon= websitedriver.findElement(searchDropDown_locator);
searchIcon.click();
}
public void clickThisFolder()
{
WebElement searchIcon= websitedriver.findElement(thisFolderText_locator);
searchIcon.click();
}
我在我的脚本文件中调用这两个函数。
这可能是什么解决方案。
答案 0 :(得分:0)
尝试使用JavascriptExecutor进行点击,如下所示
public void clickSearchDropDown()
{
WebElement searchIcon= websitedriver.findElement(searchDropDown_locator);
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", searchIcon);
}
public void clickThisFolder()
{
WebElement searchIcon= websitedriver.findElement(thisFolderText_locator);
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", searchIcon);
}
希望它会对你有所帮助:)。