Попытка нажать на баннер с помощью селена - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь нажать на баннер Администрирование

<div class="wah-global-ask-banner-item-container5 wah-clickable wah-provider-launch" data-provider="admin-link" id="admin-banner">
 <div class="wah-global-ask-banner-item">
 <div class="wah-global-ask-banner-item-icon-container-small" style="">
 <div class="wah-global-ask-banner-item-icon iconMonitor128" style="zoom: 50%;"></div></div>
 <div class="wah-global-ask-banner-item-title wah-global-ask-banner-item-title-paa" style="top: 52px; left: 0px; font-size: 24px;">Administration</div>

Я уже пытался использовать find_element_by_class_name(), и это не сработало.

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

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

  • CssSelector:

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("div.wah-global-ask-banner-item div.wah-global-ask-banner-item-title.wah-global-ask-banner-item-title-paa"))).Click();
    
  • XPath:

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//div[@class='wah-global-ask-banner-item-title wah-global-ask-banner-item-title-paa' and text()='Administration']"))).Click();
    
0 голосов
/ 19 сентября 2019

Вы можете использовать CssSelector:

FindElement(By.CssSelector(".wah-global-ask-banner-item-title.wah-global-ask-banner-item-title-paa"));

Есть отличное расширение для Chrome, которое помогает вам определить лучшие CSS-селекторы для поиска элементов под названием CSS Selector Helper для Chrome

...