Нажмите событие Onclick в селене - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь щелкнуть значок меню со следующим html кодом

<a href="#" class="ctm-icon-link" onclick="show_menu('doc_107094', 1); return false;"><i class="icon-left-space icon-chevron-sign-down">&nbsp;</i></a>

doc_number -Number будет меняться каждый раз, когда мой код щелкает меню значка

FindElement(By.ClassName("ctm-icon-link"));
FindElement(By.XPath("//a[@href='#']@onclick"));
FindElement(By.XPath("//a[@href="#"]@class"));

1 Ответ

0 голосов
/ 26 февраля 2020

Чтобы найти элемент относительно события onclick , вам нужно вызвать WebDriverWait для elementToBeClickable(), и вы можете использовать любую из следующих Стратегий локатора :

  • XPath 1:

    IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//a[@class='ctm-icon-link' and starts-with(@onclick, 'show_menu')]")));
    
  • XPath 2:

    IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//a[@class='ctm-icon-link' and starts-with(@onclick, 'show_menu')]/i")));
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...