所以,我有這個按鈕,那不是一個按鈕,但實際上是三個單獨的表格單元(不知道爲什麼)。但是我不能單擊它,即使通過單擊該表或指定位於表的範圍內的點。我想知道是否有更好的方法去點擊這個「按鈕」或至少運行它後面的腳本,以便表單可以完全一樣。Selenium Webdriver,點擊一個不是按鈕的按鈕
<div title="Submit" id="saveUserButton" style="float: right;" fire="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" observe="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" stopObserving="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" visible="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" toggle="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" hide="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" show="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" remove="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" update="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" replace="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" insert="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" wrap="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" inspect="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" recursivelyCollect="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" ancestors="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" descendants="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" firstDescendant="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" immediateDescendants="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" previousSiblings="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" nextSiblings="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" siblings="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" match="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" up="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" down="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" previous="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" next="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" select="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" adjacent="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" identify="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" readAttribute="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" writeAttribute="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getHeight="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getWidth="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" classNames="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" hasClassName="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" addClassName="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" removeClassName="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" toggleClassName="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" cleanWhitespace="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" empty="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" descendantOf="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" scrollTo="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getStyle="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getOpacity="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" setStyle="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" setOpacity="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getDimensions="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" makePositioned="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" undoPositioned="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" makeClipping="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" undoClipping="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" cumulativeOffset="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" positionedOffset="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" absolutize="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" relativize="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" cumulativeScrollOffset="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getOffsetParent="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" viewportOffset="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" clonePosition="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getElementsBySelector="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" childElements="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" _extendedByPrototype="function() { }" getElementsByClassName="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" childOf="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" morph="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" visualEffect="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" highlight="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" fade="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" appear="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" grow="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" shrink="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" fold="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" blindUp="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" blindDown="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" slideUp="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" slideDown="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" pulsate="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" shake="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" puff="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" squish="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" switchOff="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" dropOut="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getInlineOpacity="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" forceRerendering="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" setContentZoom="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" collectTextNodes="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" collectTextNodesIgnoreClass="function() {
return __method.apply(null, [this].concat($A(arguments)));
}" getStyles="function() {
return __method.apply(null, [this].concat($A(arguments)));
}">
<table id="saveUserButton_GlassButtonInnerTable" style="height: 24px;" border="0" cellSpacing="0" cellPadding="0">
<tbody>
<tr>
<td style="background-image: url(//GlassButton/EnabledLeft.gif); MIN-WIDTH: 6px; width: 6px;"/>
<td style="background-image: url(//GlassButton/EnabledCenter.gif); PADDING-BOTTOM: 0px; padding-left: 5px; padding-right: 5px; background-repeat: repeat-x; height: 24px; color: white; overflow: auto; padding-top: 0px;">
<td style="background-image: url(//GlassButton/EnabledRight.gif); MIN-WIDTH: 6px; width: 6px;"/>
</tr>
</tbody>
</table>
</div>
不管怎麼說,這是一個用戶界面的一部分,它只有當我填寫表格到標準被啓用。我使用點擊「按鈕」的Java代碼低於:
//Assuming WebDriver driver works correctly
WebDriver driver;
WebElement submit = driver.findElement(By.id("saveUserButton"));
submit.click();
我預期的結果是,webdriver的點擊「按鈕」,然後移動到測試的一個部分。
我的最終結果是,驅動程序沒有點擊「按鈕」,因此停留在用戶界面上,無法繼續。
您是否嘗試過使用[動作]的TD或表格元素上點擊(https://code.google .com/p/selenium/wiki/AdvancedUserInteractions)課程? – Faiz
@Faiz,我試過使用它,但它也沒有工作。 – Msmith