1
const webdriver=require('selenium-webdriver'); // selenium webdriver
const chromedriver=require('chromedriver'); // chrome driver
const by=webdriver.By;
const untill=webdriver.until;

const driver=new webdriver.Builder().forBrowser('chrome').build();
driver.get('https://www.example.com/sell-my-cell-phone/sell-my-samsung/');
driver.findElements(by.className('LaptopBox')).then((rst)=>{
    rst.forEach((el)=>{
        driver.wait(untill.elementsLocated(by.tagName('a')))
        let btn=el.findElement(by.tagName('a'));
        btn.click();
        console.log("abc")
    });
});

i'm trying this code. but it gave me this error after printing console log.

UnhandledPromiseRejectionWarning: StaleElementReferenceError: stale element reference: element is not attached to the page document

in my html like following.

<ul id="LaptopBox">
    <li class="sliding-element">
      <a href="#">anchor one</a>
    </li>
    <li class="sliding-element">
      <a href="#">anchor two</a>
    </li>
    <li class="sliding-element">
      <a href="#">anchor three</a>
    </li>
</ul>
Udeesha Induwara
  • 605
  • 1
  • 10
  • 20

0 Answers0