gpt4 book ai didi

java - 元素不可见异常?在动态自动暗示下拉菜单中 - Selenium - Java

转载 作者:行者123 更新时间:2023-12-02 01:33:39 25 4
gpt4 key购买 nike

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

网站:https://www.zoopla.co.uk/

这是我正在尝试处理的页面 enter image description here

点击时抛出元素不可见异常有没有其他方法可以处理自动提示下拉菜单?

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

主页.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();

所需选项被选中,但在控制台中,它抛出重复的元素不可见异常

> exception >>org.openqa.selenium.ElementNotVisibleException: element not interactable (Session info: chrome=73.0.3683.86) (Driver info: chromedriver=73.0.3683.75,platform=Linux 4.15.0-47-generic x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-118

最佳答案

引用下面的代码:

首页

初始化网络元素:

@FindBy(css = "ul.ui-autocomplete>li>a")
List<WebElement> regions;

选择区域的方法:

public void selectRegion(String param) {
for (WebElement e : regions) {
if (e.getText().equals(param)) {
e.click();
break;
}
}
}

这是你的调用类

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 浏览器中运行良好,如果您有任何问题,请告诉我

关于java - 元素不可见异常?在动态自动暗示下拉菜单中 - Selenium - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55584275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com