gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:47:50 25 4
gpt4 key购买 nike

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

enter image description here

最佳答案

当您选择 Insurance Test Client 时,您只会获得 Product Insurance 选项,这实际上意味着 HTML DOM 发生了变化,这会导致 StaleElementException。为避免这种情况,一旦我们从第一个下拉列表中进行选择,我们需要引入一些等待,以便在 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");

关于java - Selenium Webdriver - 单击多个下拉菜单时出现陈旧元素异常,而 HTML DOM 没有更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59172795/

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