元素不可见异常?在动态自动提示下拉列表中-Selenium-Java
我正在尝试处理一个自动提示的dopdown,在这里,我输入一个searchTerm,结果将由该术语建议。我尝试循环它,检查实际文本是否等于预期文本,如果是,单击它 地点: 这是我正在处理的页面 单击时抛出元素不可见异常 是否有其他方法可以处理自动提示下拉列表 我使用for循环从列表中获取选项,并尝试与列表中的文本进行比较,然后根据真实条件选择它 Homepage.java元素不可见异常?在动态自动提示下拉列表中-Selenium-Java,java,selenium,drop-down-menu,automation,selenium-chromedriver,Java,Selenium,Drop Down Menu,Automation,Selenium Chromedriver,我正在尝试处理一个自动提示的dopdown,在这里,我输入一个searchTerm,结果将由该术语建议。我尝试循环它,检查实际文本是否等于预期文本,如果是,单击它 地点: 这是我正在处理的页面 单击时抛出元素不可见异常 是否有其他方法可以处理自动提示下拉列表 我使用for循环从列表中获取选项,并尝试与列表中的文本进行比较,然后根据真实条件选择它 Homepage.java //selecting region public void selectRegion(String regionName
//selecting region
public void selectRegion(String regionName) throws InterruptedException {
int regionCount = getOptions().size();
System.out.println("count of region" + regionCount);
for(int i=0;i<getOptions().size();i++) {
String region = getOptions().get(i).getText();
System.out.println(regionName);
if(regionName.equals(regionName)) {
try {
getOptions().get(i).click();
break;
}
catch (Exception e) {
System.out.println("exception >>" + e.toString()) ; }
}
}
}
@Test
public void homePage() throws InterruptedException {
HomePage homePage = PageFactory.initElements(driver, HomePage.class);
homePage.EnterSearch("lond");
Thread.sleep(1000);
homePage.selectRegion("London");
homePage.clickSearchBtn();
//选择区域
public void selectRegion(字符串regionName)引发InterruptedException{
int regionCount=getOptions().size();
System.out.println(“区域计数”+区域计数);
对于(int i=0;i
异常>>org.openqa.selenium.ElementNotVisibleException:元素不可交互
(会话信息:chrome=73.0.3683.86)
(驱动程序信息:chromedriver=73.0.3683.75,platform=Linux 4.15.0-47-generic x86_64)(警告:服务器未提供任何堆栈跟踪信息)
命令持续时间或超时:0毫秒
构建信息:版本:'3.141.59',修订版:'e82be7d358',时间:'2018-118
public void searchUsingAutoComplete(String元素,String reuiredTextToClick){
WebDriverWait wait=新的WebDriverWait(d,30);
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath(element));
List=d.findElements(By.xpath(元素));
log.info(“自动建议列表::”+List.size());
int i;
对于(i=0;i
使用上面的代码,您的元素将是:-//ul[@id='ui-id-1']//li,我尝试使用此代码,我能够使用自动完成(String元素,String reuiredTextToClick)选择所需的文本{
WebDriverWait wait=新的WebDriverWait(d,30);
wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath(element));
List=d.findElements(By.xpath(元素));
log.info(“自动建议列表::”+List.size());
int i;
对于(i=0;i
使用上面的代码,您的元素将是:-//ul[@id='ui-id-1']//li,我尝试使用此代码,我能够选择所需的文本参考下面的代码:
主页
初始化Web元素:
@FindBy(css = "ul.ui-autocomplete>li>a")
List<WebElement> regions;
这是你的主修课
driver.get("https://www.zoopla.co.uk/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
HomePage page = new HomePage(driver);
page.enterSearch("lond");
page.selectRegion("London");
page.clickSearchBtn();
在chrome浏览器中,我的代码运行良好。如果您对此有任何问题,请告诉我。请参阅以下代码:
主页
初始化Web元素:
@FindBy(css = "ul.ui-autocomplete>li>a")
List<WebElement> regions;
这是你的主修课
driver.get("https://www.zoopla.co.uk/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
HomePage page = new HomePage(driver);
page.enterSearch("lond");
page.selectRegion("London");
page.clickSearchBtn();
在chrome浏览器中,我的代码运行良好。如果您在这方面有任何问题,请告诉我regionName的值是多少?您希望单击哪个建议?regionName的值是多少?您希望单击哪个建议?