我目前正致力于进入我的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指向正确的地方所以我被卡住了,并且不知道该怎么做。
非常感谢任何帮助!