Selenium Webdriver - 单击多个下拉菜单时出现陈旧元素异常,而 HTML DOM 不会更改

2024-05-13

我尝试自动化一个场景,其中条件是我必须从下拉列表中选择一个选项,然后它旁边有另一个下拉列表,我必须单击下一个下拉列表中的一个选项才能启用按钮。我尝试使用代码,但它仅单击第一个选项。并显示错误为过时的元素引用:元素未附加到页面文档。请帮忙。如果不是很清楚,请告诉我。


当您选择Insurance Test Client那么只有你可以选择Product Insurance,这本质上意味着 HTML DOM 发生了变化,从而导致StaleElementException。为了避免这种情况,一旦我们从第一个下拉列表中进行选择,我们需要引入一些wait让第二个下拉列表的元素在HTML DOM。然后我们将使用Select类来选择一个选项。尝试以下代码块:

//Select Channel 
Select oSelectChannel = new Select(driver.findElement(By.id("client"))); 
oSelectChannel.selectByVisibleText("Insurance Test Client"); 

WebDriverWait wait5 = new WebDriverWait(driver, 10);
wait5.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath_of_a_Category_item")));

//Select Category 
Select oSelectCategory = new Select(driver.findElement(By.xpath("//*[@id='category']"))); 
oSelectCategory.selectByVisibleText("Product Insurance");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium Webdriver - 单击多个下拉菜单时出现陈旧元素异常,而 HTML DOM 不会更改 的相关文章

随机推荐