при написании сценариев селена на веб-сайте, но он не перейдет в окно опций боковой панели через сценарии селена - PullRequest
0 голосов
/ 30 марта 2019

Во время написания сценариев селена на веб-странице работает окно автоматического входа в систему, но при работе опции боковой панели на веб-сайте не работают

driver.findElement(By.xpath("//*[@id='mCSB_22_container']/ul/li[8]/i"));

Я использовал эти xpath, но не работает

  <li _ngcontent-c11="" routerlinkactive="active" title="Alert Configuration" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" class="fa fa-exclamation-triangle" style="color:rgb(214, 111, 111);"></i>
  </li>
  <!----><li _ngcontent-c11="" title="Device Profile">
    <i _ngcontent-c11="" aria-hidden="true" class="fa fa-cog" style="color:lightBlue;"></i>
  </li>

  <!----><li _ngcontent-c11="" title="Poles">
    <img _ngcontent-c11="" src="./assets/images/lamp-pole-group-12x12.png"> </li>
  <!----><li _ngcontent-c11="" title="Lamps">
    <img _ngcontent-c11="" src="./assets/images/pole-lamps-12x12.png" class="mCS_img_loaded"> </li>
  <li _ngcontent-c11="" routerlinkactive="active" title="Commissioning Process" tabindex="0" style="display: inherit;">

    <img _ngcontent-c11="" src="./assets/images/Commissioning-Process.png" class="mCS_img_loaded">
  </li>
  <!----><li _ngcontent-c11="" title="Groups" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" class="fa fa-users" style="color:#8edd34;"></i>
  </li>

  <!----><li _ngcontent-c11="" title="Reports" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" class="fa fa-bar-chart" style="color:#d3d347;"></i>
  </li>
  <!---->

  <li _ngcontent-c11="" routerlinkactive="active" title="Archival" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" class="fa fa-archive"></i>
  </li>

</ul>

Приборная панель Тенденции устройств Оповещения - Уведомления

  <li _ngcontent-c11="" class="li-h" style="display: inherit;">User
    Management</li>
  <!----><li _ngcontent-c11="" routerlinkactive="active" title="Users" tabindex="0" class="active">
    <i _ngcontent-c11="" aria-hidden="true" style="color:#3289c8;">
      <div _ngcontent-c11="" class="fa fa-user mlr10 aligncenter"></div>
    </i>Users</li>
  <li _ngcontent-c11="" class="overflowEllipsel" routerlinkactive="active" title="Roles &amp; Permissions" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" style="color:lightBlue;">
      <div _ngcontent-c11="" class="fa fa-check-square-o mlr10 aligncenter"></div>
    </i>Roles &amp; Permissions</li>
  <li _ngcontent-c11="" class="overflowEllipsel" routerlinkactive="active" title="User Activity Tracking" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true">
      <div _ngcontent-c11="" class="fa fa-pencil-square-o mlr10 aligncenter"></div>
    </i>User Activity Tracking</li>

  <li _ngcontent-c11="" class="li-h" style="display: inherit;">Configuration
    Settings</li>
  <li _ngcontent-c11="" class="overflowEllipsel" routerlinkactive="active" title="Project Configuration" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" style="color:lightBlue;">
      <div _ngcontent-c11="" class="fa fa-handshake-o mlr10 aligncenter"></div>
    </i>Project Configuration</li>

    <!----><li _ngcontent-c11="" class=" overflowEllipsel" routerlinkactive="active" title="One Step Onboarding" tabindex="0">
    <i _ngcontent-c11="" aria-hidden="true" style="color:#fff;">
      <div _ngcontent-c11="" class="fa fa-user mlr10 aligncenter"></div>
    </i>One Step Onboarding</li>
  <li _ngcontent-c11="" class="arrow-toggle collapsed" data-target="#collapseHierarchy" data-toggle="collapse" title="Hierarchy" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true">
      <div _ngcontent-c11="" class="fa fa-bar-chart mlr10 aligncenter"></div>
    </i>Hierarchy
    <span _ngcontent-c11="" class="fr mlr10">
      <span _ngcontent-c11="" class="fa fa-plus caret1 plr5"></span>
      <span _ngcontent-c11="" class="fa fa-minus caret1 plr5"></span>
    </span>
  </li>
  <ul _ngcontent-c11="" class="collapse " id="collapseHierarchy">
    <li _ngcontent-c11="" class="pl1cm overflowEllipsel" routerlinkactive="active" title="Hierarchy Definition" tabindex="0" style="display: inherit;">Hierarchy Definition</li>
    <li _ngcontent-c11="" class="pl1cm overflowEllipsel" routerlinkactive="active" title="Hierarchy Creation" tabindex="0" style="display: inherit;">Hierarchy Creation</li>
  </ul>
  <li _ngcontent-c11="" class=" overflowEllipsel" routerlinkactive="active" title="Alert Configuration" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" style="color:rgb(214, 111, 111);">
      <div _ngcontent-c11="" class="fa fa-exclamation-triangle mlr10 aligncenter"></div>
    </i>Alert Configuration</li>
  <!----><li _ngcontent-c11="" class="arrow-toggle collapsed" data-target="#collapseExample" data-toggle="collapse" title="Device Profiles">
    <i _ngcontent-c11="" aria-hidden="true" style="color:lightblue">
      <div _ngcontent-c11="" class="fa fa-cog mlr10 aligncenter"></div>
    </i>Device Profile
    <span _ngcontent-c11="" class="fr mlr10 ">
      <span _ngcontent-c11="" class="fa fa-minus caret1 plr5"></span>
      <span _ngcontent-c11="" class="fa fa-plus caret1 plr5"></span>
    </span>
  </li>
  <!----><ul _ngcontent-c11="" class="collapse" id="collapseExample">
    <li _ngcontent-c11="" class="pl1cm overflowEllipsel" routerlinkactive="active" title="Device Profile Master" tabindex="0">Device Profile Master</li>
    <li _ngcontent-c11="" class="pl1cm overflowEllipsel" routerlinkactive="active" title="Profile Settings" tabindex="0">Profile
      Settings</li>
  </ul>

  <!----><li _ngcontent-c11="" class="li-h">Device
    Onboarding</li>

  <!----><li _ngcontent-c11="" class="arrow-toggle collapsed" data-target="#collapsePoles" data-toggle="collapse" title="Poles">
    <img _ngcontent-c11="" class="mlr10" src="./assets/images/lamp-pole-group-12x12.png"> Poles
    <span _ngcontent-c11="" class="fr mlr10 w15">
      <span _ngcontent-c11="" class="fa fa-minus caret1 plr5"></span>
      <span _ngcontent-c11="" class="fa fa-plus caret1 plr5"></span>
    </span>
  </li>
  <!----><ul _ngcontent-c11="" class="collapse" id="collapsePoles">
    <!----><li _ngcontent-c11="" class="pl1cm overflowEllipsel pr15" routerlinkactive="active" title="Poles Management" tabindex="0">Poles
      Management</li>
    <!----><li _ngcontent-c11="" class="pr15 pl1cm overflowEllipsel" routerlinkactive="active" title="Poles Association with Hierarchy" tabindex="0">Poles
      Association with Hierarchy</li>

  </ul>
  <!----><li _ngcontent-c11="" class="arrow-toggle collapsed" data-target="#collapseLamps" data-toggle="collapse" title="Lamps">
    <img _ngcontent-c11="" class="mlr10" src="./assets/images/pole-lamps-12x12.png"> Lamps
    <span _ngcontent-c11="" class="fr mlr10 w15">
      <span _ngcontent-c11="" class="fa fa-minus caret1 plr5"></span>
      <span _ngcontent-c11="" class="fa fa-plus caret1 plr5"></span>
    </span>
  </li>
  <!----><ul _ngcontent-c11="" class="collapse" id="collapseLamps">

    <!----><li _ngcontent-c11="" class="pl1cm overflowEllipsel pr15" routerlinkactive="active" title="Lamp Management" tabindex="0">Lamp
      Management</li>
    <!----><li _ngcontent-c11="" class="pl1cm overflowEllipsel pr15" routerlinkactive="active" title="Lamp Association with Poles" tabindex="0">Lamp
      Association with Poles</li>
  </ul>
  <!---->
  <!---->

  <li _ngcontent-c11="" class="li-h" style="display: inherit;">Group
    Actions</li>
  <li _ngcontent-c11="" class="arrow-toggle collapsed overflowEllipsel" routerlinkactive="active" title="Commissioning Process" type="button" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" style="color:lightblue">
      <div _ngcontent-c11="" class=" mlr10 w15" style="display: inline-block;">
        <img _ngcontent-c11="" src="./assets/images/Commissioning-Process.png" class="mCS_img_loaded">
      </div>
    </i>Commissioning Process

  </li>

  <!----><li _ngcontent-c11="" class="arrow-toggle collapsed" data-target="#collapseGroup2" data-toggle="collapse" title="TCL-Multicast" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" style="color:#97972d;">
      <div _ngcontent-c11="" class="fa fa-rss mlr10 aligncenter"></div>
    </i>TCL-Multicast
    <span _ngcontent-c11="" class="fr mlr10">
      <span _ngcontent-c11="" class="fa fa-minus caret1 plr5"></span>
      <span _ngcontent-c11="" class="fa fa-plus caret1 plr5"></span>
    </span>
  </li>

  <ul _ngcontent-c11="" class="collapse " id="collapseGroup2">
    <!----><li _ngcontent-c11="" title="Configuration" tabindex="0" style="display: inherit;">Configuration</li>
    <!----><li _ngcontent-c11="" routerlinkactive="active" title="Broadcasting" tabindex="0" style="display: inherit;">Broadcasting</li>
  </ul>
  <!---->
  <ul _ngcontent-c11="" class="collapse " id="collapseGroup1">
    <!---->
    <!---->
  </ul>

  <!---->
  <ul _ngcontent-c11="" class="collapse " id="collapseGroup3">
    <!---->
    <!---->
  </ul>

  <li _ngcontent-c11="" class="li-h" style="display: inherit;">Reports</li>
  <!----><li _ngcontent-c11="" class="arrow-toggle collapsed" data-target="#collapseReports" data-toggle="collapse" title="Reports" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true" style="color:#d3d347;">
      <div _ngcontent-c11="" class="fa fa-bar-chart mlr10 aligncenter"></div>
    </i>Custom Reports
    <span _ngcontent-c11="" class="fr mlr10">
      <span _ngcontent-c11="" class="fa fa-minus caret1 plr5"></span>
      <span _ngcontent-c11="" class="fa fa-plus caret1 plr5"></span>
    </span>
  </li>
  <!----><ul _ngcontent-c11="" class="collapse " id="collapseReports">
    <!---->
    <li _ngcontent-c11="" class="pl1cm overflowEllipsel" routerlinkactive="active" title="Health Report" tabindex="0" style="display: inherit;">

      Health Report</li>
    <li _ngcontent-c11="" class="pl1cm overflowEllipsel" routerlinkactive="active" title="Reports" tabindex="0" style="display: inherit;">Reports</li>
  </ul>
  <li _ngcontent-c11="" class=" overflowEllipsel" routerlinkactive="active" title="Email Scheduler" tabindex="0" style="display: inherit;"><i _ngcontent-c11="" aria-hidden="true" style="color:#a2a284;">
      <div _ngcontent-c11="" class="fa fa-envelope mlr10 aligncenter"></div>
    </i>Email Scheduler</l
    <li _ngcontent-c11="" class="li-h" style="display: inherit;">Other</li>
  <li _ngcontent-c11="" routerlinkactive="active" title="Archival" tabindex="0" style="display: inherit;">
    <i _ngcontent-c11="" aria-hidden="true">
      <div _ngcontent-c11="" class="fa fa-archive mlr10 aligncenter"></div>
    </i>Archival</li>
</ul>

1 Ответ

0 голосов
/ 30 марта 2019

в этом вам нужно найти частичную ссылку элемента

driver.findElement(By.partialLinkText("design-series")).click();

Если код выше: -

WebElement hover = driver.findElement(By.xpath("//*[@id=\"menu-item-11496\"]"));        
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", hover);

JavaScriptExecutor - это интерфейс, который помогает выполнитьJavaScript через Selenium Webdriver. В Selenium Webdriver локаторы, такие как XPath, CSS и т. Д., Используются для идентификации и выполнения операций на веб-странице.

В случае, если эти локаторы не работают, вы можете использовать JavaScriptExecutor.Вы можете использовать JavaScriptExecutor для выполнения требуемой операции с веб-элементом.

Методы JavaScriptExecutor

1) executeAsyncScript

С помощью асинхронного сценария ваша страница отображаетсябыстрее.Вместо того, чтобы заставлять пользователей ждать загрузки скрипта, прежде чем страница будет отображаться.Эта функция будет выполнять асинхронный фрагмент JavaScript в контексте текущего выбранного фрейма или окна в Selenium.Выполняемый таким образом JS является однопоточным с различной функцией обратного вызова, которая выполняется синхронно.

2) executeScript

Этот метод выполняет JavaScript в контексте выбранного в настоящий момент кадра или окна в Selenium.Сценарий, используемый в этом методе, выполняется в теле анонимной функции (функции без имени).Мы также можем передавать сложные аргументы.

Скрипт может возвращать значения.Возвращаемые типы данных:

-Boolean

-Long

-String

-List

-WebElement

Базовый синтаксис для JavascriptExecutor приведен ниже:

Синтаксис:

JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript(Script,Arguments);

Сценарий - это JavaScript, который необходимо выполнить.

Аргументы - это аргументы длясценарий.Это необязательно.

нужна дополнительная информация, затем пройдите по этой ссылке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...