1

I'm using selenium to loop through my mailbox, click each mail and check if there is a specific button present. If there is, click it, if not keep looping.

The program works fine until there is a mail with no button, I receive the following error

error: No such element found

My code:

    void LookForButtonInMail()
    {
        //Open browser and navigate to outlook mail in browser
        MailDriver = new ChromeDriver();
        MailDriver.Navigate().GoToUrl("https://outlook.office365.com/");

        //Create list of mails
        List<IWebElement> CustomerMailList = MailDriver.FindElements(By.ClassName("_1Dr0riVoOGchgeP7D9S09l")).ToList();

        //Loop through list of mails
        for (int i = 0; i < CustomerMailList.Count; i++)
        {
            //Click next mail in list
            CustomerMailList[i].Click();
            System.Threading.Thread.Sleep(2000);


            //Check if there is a button and click it, if not, next loop
            bool ButtonPresent = MailDriver.FindElement(By.XPath("Xpath")).Displayed;
            if (ButtonPresent = true)
            {
                IWebElement OpenButton = MailDriver.FindElement(By.XPath("Xpath"));
                OpenButton.Click();
            }
            else
            {
                Console.WriteLine("No button in this mail");
            }

            System.Threading.Thread.Sleep(2000);
        }
    }

I receive the error at line : bool ButtonPresent = MailDriver.FindElement(By.XPath("Xpath")).Displayed; I'm using a console application in c# and dot.net

Robert
  • 53
  • 7

0 Answers0