Selenium WebDriverテストを初めて使用しています。私はそれを職場で使用しようとしています。私はセレクタ、xpathsなどの多くの組み合わせを試みたが、私はそれを通過することはできません。私は悲しいことに期待された結果がない、stackoverflowに関する多くの似たようなトピックも探しました。私が必要とするのは、 "NO SERVICE"ボタン(a href)をクリックできることです。私が試してみると、この要素は見えないというエラーが続いています。 "wait"を使用してこのエラーを処理しようとすると、別のエラー "Expected condition failed:要素の可視性を待っています..."が続きます。私は間違って何をしていますか?Selenium WebDriver Java - 要素が表示されません。
マイコード:
WebDriverWait waitWait = new WebDriverWait(driver, 40);
waitWait.until(ExpectedConditions.visibilityOfElementLocated(By.className("withoutService")));
WebElement x = driver.findElement(By.className("withoutService"));
x.click();
ともWebページからHTMLコードスニペット:
<div id="fancybox-outer">
<div id="fancybox-content">
<div style="width:auto;position:relative;">
<div id="serviceReminder" style="width: 765px">
<form id="serviceReminderFrom" method="post">
<div class="homeMessage">
<div class="innerMessage">
<input type="hidden" id="serviceToAddReminderFromAction" name="F_ACTION" value="">
<input type="hidden" id="itemsWithServices" name="itemsWithServices" value="">
<input type="hidden" name="eventTypeName" value="Something">
<div class="ServicesDelivery"><span class="disable-button"></span>
<a href="javaScript:void(0);" rel="3" class="withoutService btn btn-fourth" onclick="registerButtonClickOnPopup('NO SERVICE'); setTimeout(function(){registerButtonClickOnPopup('NO SERVICE');},400);">NO SERVICE</a>
<a href="javascript:void(0)" rel="1" class="next js-tooltip btn btn-second" onclick="registerButtonClickOnPopup('ADD SERVICE'); setTimeout(function(){registerButtonClickOnPopup('ADD SERVICE');},400);">ADD SERVICE</a>
<div class="none">
</div>
<div class="clear"></div>
</div>
</div>
</div>
</form>
</div></div></div><a id="fancybox-close" style="display: inline;"></a><div id="fancybox-title" class="" style="display: none;">
</div><a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a><a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a></div>
あなたが探している要素は、「隠された」入力に含まれています。入力を非表示にしないようにテスト内で何かしていますか? – Josh
@Josh、いいえ、それは隠された 'input'の一部ではありません。 AFAIK、 'input'要素は属性だけを含むことができますが、他のノードは含みません。 – Andersson