元素不可见异常?在动态自动提示下拉列表中-Selenium-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

我正在尝试处理一个自动提示的dopdown,在这里,我输入一个searchTerm,结果将由该术语建议。我尝试循环它,检查实际文本是否等于预期文本,如果是,单击它

地点:

这是我正在处理的页面

单击时抛出元素不可见异常 是否有其他方法可以处理自动提示下拉列表

我使用for循环从列表中获取选项,并尝试与列表中的文本进行比较,然后根据真实条件选择它

Homepage.java

//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的值是多少?您希望单击哪个建议?