当前位置: 首页 > 知识库问答 >
问题:

Selenium Webdriver-在HTML DOM不变的情况下,单击多个下拉列表时出现陈旧元素异常

公羊招
2023-03-14

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

共有1个答案

束福
2023-03-14

当您选择保险测试客户机时,只有您得到选项产品保险,这实质上意味着HTML DOM被更改,从而导致StaleElementException。为了避免这种情况,一旦我们从第一个下拉列表中进行选择,我们需要引导一些等待,以便第二个下拉列表的元素HTML DOM中呈现。然后我们将使用SelectClass来选择一个选项。请尝试以下代码块:

//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");

 类似资料:
  • 在我们的应用程序中,当我将鼠标放在菜单项上时,将出现下拉菜单项。在这里我想通过点击它来选择一个项目。主菜单:管理子菜单:管理频道,管理用户在selenium webdriver中,我尝试通过给出xpath,linktext,partial link文本直接点击管理频道。

  • 有两个下拉元素代码:一个是标准选项选择,另一个由div、ul、li元素组成。 不知何故,两者都用于通过java脚本选择下拉元素... 问题是硒不能点击元素并抛出不可见的异常…… 请参阅此处的下拉框:[位于“Top 5”选项卡下方]http://www.oddsbox.com/baseball/mlb/record/section.odd 以下解决方案也没有帮助:Python Selenium:使用

  • 本文向大家介绍BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案,包括了BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案的使用技巧和注意事项,需要的朋友参考一下 最近学到Bootstrap下拉菜单,学懂了教程内容之后自己敲一个点击按钮底下弹出下拉菜单的小demo,写完代码发现运行之后点击按钮没反应,下拉菜单弹不出来,对照教程感觉代码没错

  • 我使用javascript函数启动引导下拉菜单,如他们的文档中所述。 通常,每当您在下拉列表外部单击或选择其中一个选项时,下拉列表都会隐藏。 通过javascript启动时不会发生这种情况。 在此复制中,您将看到两个菜单: 使用"组件"触发器按预期工作的人 另一个,使用右键单击,它不像预期的那样工作。(它不会在单击外部或甚至在元素单击时关闭) 当我在下拉菜单外单击时,我可以通过以下方式“手动”摆脱

  • 我有一个下拉列表,我使用它来允许用户建立到后端的查询参数。 然后,用户将单击一个按钮,我将访问用户在下拉列表中设置的值,以调用后端endpoint。 任何帮助或提示都是非常欢迎的。