尝试单击<a>
回归测试脚本中的标签时从标题中获取错误。我在这里研究了这个问题:Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: Element cannot be scrolled into view:[object HTMLSpanElement]和这里:https ://groups.google.com/forum/#!msg /webdriver/R2jwSWrIK44/RaCLRPlKIWEJ但我不明白问题的根本原因。
我试过使用 By.jQuery、By.Id、By.Css、By.Xpath 以及按索引选择,但总是得到相同的错误。以下是相关代码:
HTML:
<div id="divTabs">
<a id="tabECheck" target="#divECheck">eCheck</a>
<a id="tabAceComments" target="#divAceComments">Ace Comments</a>
<a id="tabReviewComments" target="#divReviewComments">Review Comments</a>
<a id="tabReviewHistory" target="#divReviewHistory">Review History</a>
</div>
CSS:
#divTabs{
writing-mode: tb-rl;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
position: absolute;
width: 27px;
padding: 0px;
height: auto;
display: table-row;
margin-bottom: 10px;
}
#divTabs a
{
border: 1px solid #CCC;
padding: 3px;
white-space: nowrap;
cursor: pointer;
color: #3966BF;
display: table-cell;
background-color: #FFF;
}
C#:
element = driver.FindElement(By.Id("tabReviewComments"));
element.Click();
如您所见,我正在尝试单击<a>
ID 为“tabReviewComments”的第三个标签。但是,如果我让脚本单击<a>
ID 为“tabECheck”的第一个标签,则它的工作原理是我没有收到“无法将元素滚动到视图中”错误,单击该元素,并且脚本移过该行。可悲的是,我需要点击第三个<a>
标签。<a id="tabReviewComments" target="#divReviewComments">Review Comments</a>
除了移到顶部还有什么想法吗?
谢谢!