I tried to automate a scenario, where the condition is that I have to select an option from drop down and then there's another dropown next to it, I have to click one option from next drop to enable to button . I tried with the code but it clicks only the first option,.And showing error as stale Element reference:element is not attached to the page document. Please help. Please let me know if in not very clear.
Selenium Webdriver - Stale element exception when clicking on multiple dropdowns while HTML DOM doesn't change
When you select Insurance Test Client
then only you get the option Product Insurance
, which essentially means the HTML DOM gets changed, which results in StaleElementException
. To avoid that, once we select from the first dropdown, we need to induce some wait
for the elements of the second dropdown to render in the HTML DOM
. Then we will use Select
Class to select an option. Try out the following code block:
//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");
Thanks @DebanjanB . It worked. I dint think of using wait until condition. Thanks for your help. –
Inexactitude
© 2022 - 2024 — McMap. All rights reserved.
Self
then only you get the optionGeneral
, which essentially means the HTML DOM gets changed, which results inStaleElementException
– Bodice