首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虽然在网站中编写selenium脚本,但它不会通过selenium脚本进入侧栏选项窗口

虽然在网站中编写selenium脚本,但它不会通过selenium脚本进入侧栏选项窗口
EN

Stack Overflow用户
提问于 2019-03-30 16:59:22
回答 1查看 47关注 0票数 0

当在网页中编写selenium脚本时,它可以自动登录窗口,但在网站中的侧边栏选项不起作用

代码语言:javascript
复制
driver.findElement(By.xpath("//*[@id='mCSB_22_container']/ul/li[8]/i"));

我使用过这些xpath,但无法正常工作

代码语言:javascript
复制
  <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>

代码语言:javascript
复制
                                     Dashboard                                    Device Trends                                    Alerts – Notifications
代码语言:javascript
复制
  <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>
EN

回答 1

Stack Overflow用户

发布于 2019-03-30 20:09:50

在这里你需要找到元素的部分链接

代码语言:javascript
复制
driver.findElement(By.partialLinkText("design-series")).click();

如果上面的代码:

代码语言:javascript
复制
WebElement hover = driver.findElement(By.xpath("//*[@id=\"menu-item-11496\"]"));        
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", hover);

JavaScriptExecutor是一个通过Selenium Webdriver.In Selenium Webdriver帮助执行JavaScript的接口,XPath、CSS等定位器用于识别和执行网页上的操作。

如果这些定位器不起作用,您可以使用JavaScriptExecutor。您可以使用JavaScriptExecutor对web元素执行所需的操作。

JavaScriptExecutor Methods

1)executeAsyncScript

使用异步脚本,您的页面呈现速度更快。而不是强制用户在页面呈现之前等待脚本下载。此函数将在Selenium中当前选定的框架或窗口的上下文中执行一段异步JavaScript。这样执行的JS是单线程的,带有各种同步运行的回调函数。

2)executeScript

此方法在Selenium中当前选定的框架或窗口的上下文中执行JavaScript。此方法中使用的脚本在匿名函数(没有名称的函数)的主体中运行。我们也可以将复杂的参数传递给它。

脚本可以返回值。返回的数据类型为

-Boolean

-Long

-String

-List

-WebElement

JavascriptExecutor的基本语法如下:

语法:

代码语言:javascript
复制
JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript(Script,Arguments);

脚本-这是需要执行的JavaScript。

参数-它是脚本的参数。这是可选的。

如果需要更多信息,请访问此link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55429772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档