尝试使用硒点击横幅

Trying to click on a banner using selenium

我正在尝试点击横幅管理

<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() 但它没有用。

我该怎么做?

您可以使用 CssSelector:

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

Chrome 有一个很好的扩展,它可以帮助您确定最好的 CSS 选择器来定位名为 CSS Selector Helper for Chrome

的元素

To click() 在文本为 Administration 的元素上,您必须为所需的 ElementToBeClickable() 引入 WebDriverWait ] 并且您可以使用以下任一项 :

  • 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();