使用selenium webserver

时间:2016-10-13 19:18:48

标签: java selenium

我目前正致力于进入我的Google帐户并执行某些任务的自动化项目。我目前正处于需要在网页上展开折叠树的位置,树的代码如下:

<div class="gwt-PopupPanel" style="visibility: visible; overflow: visible; position: absolute; left: 308px; top: 157px;">

    <div class="popupContent">
       <div>
         <div class="orgTreeDropDown-panel gux-dropdown-c">
           <div class="orgTreeDropDown-treePanel" style="overflow: auto; position: relative; width: 20em; height: 40ex;">
             <div style="position: relative;">
              <div class="gwt-FastTree" style="position: relative;" role="tree">
               <div class=" selection-bar" tabindex="0" style="position: absolute; width: 223px; height: 34px; top: 240px; left: 20px; display: none;" focus="false" role="treeitem" aria-hidden="true">
                 <input tabindex="-1" role="presentation" style="opacity: 0; height: 1px; width: 1px; z-index: -1; overflow: hidden; position: absolute;" type="text">
               </div>
               <div class="gwt-FastTreeItem" style="margin: 0px;">
                <div class=" closed">
                 <div class="treeItemContent">
                  <div class="ELWINOB-Zg-a orgTree-item" tabindex="-1">
                   <input tabindex="-1" role="presentation" style="opacity: 0; height: 1px; width: 1px; z-index: -1; overflow: hidden; position: absolute;" type="text">
                    <table class="ELWINOB-Zg-i" cellspacing="0" cellpadding="0">

此代码不是树的完整代码,仅适用于第一项。

以下是它在网页上的显示方式:Tree representation as shown on Google

问题是google将此元素与另一个元素构建在其上,因此单击节点上的任何位置将选择该元素项而不是展开它。要展开,需要单击项目旁边的箭头符号。

我在这里的思考过程是,如果我能找到保存根节点以扩展树的实际元素,而不是单击任何地方就不重要

这是我用来扩展根节点的代码行:

driver.findElement(By.xpath(".//*[@class='closed']")).click();

但我一直遇到错误:无法找到元素:.//* [@ class =&#39;已关闭&#39;]

我90%肯定我的xpath指向正确的地方所以我被卡住了,并且不知道该怎么做。

非常感谢任何帮助!

0 个答案:

没有答案