0

Webdriver がオーバーレイ内のオブジェクトを見つけることができません。

フレームに切り替えて、フレーム内のオブジェクトをクリックしようとしています。しかし、私はそれを行うことができません。

以下のHTMLからすべての「id」を試しました。しかし、私はそれを見つけていません。

私を助けてください

以下はコードです

driver.switchTo().frame(driver.findElement(By.id("fancybox-outer")));
driver.findElement(By.xpath(OR.getProperty("ContactSaveConfirmYes_Button"))).click();
driver.switchTo().defaultContent();

HTMLは次のとおりです。

このオーバーレイの「はい」ボタンをクリックしたいです。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<body onload="showLossHistoryLink();  contactTypeDisplay();openInsuredContact();showErrorMessages();checkInjuryFields();">
<div class="billboardWindow124">
<div id="fancybox-tmp" style="padding: 50px;"/>
<div id="fancybox-loading" style="display: none;">
<div id="fancybox-overlay" style="background-color: rgb(119, 119, 119); opacity: 0.2;  cursor: auto; height: 850px; display: block;"/>
<div id="fancybox-wrap" style="width: 319px; height: auto; top: 574px; left: 452px; display: block;"> 
<div id="fancybox-outer">
<div id="fancybox-bg-n" class="fancybox-bg"/>
<div id="fancybox-bg-ne" class="fancybox-bg"/>
<div id="fancybox-bg-e" class="fancybox-bg"/>
<div id="fancybox-bg-se" class="fancybox-bg"/>
<div id="fancybox-bg-s" class="fancybox-bg"/>
<div id="fancybox-bg-sw" class="fancybox-bg"/>
<div id="fancybox-bg-w" class="fancybox-bg"/>
<div id="fancybox-bg-nw" class="fancybox-bg"/>
<div id="fancybox-content" style="border-width: 10px; width: 299px; height: auto;">
<div style="width:auto;height:auto;overflow: auto;position:relative;">
<form id="formSaveContact" action="#">
<div id="confirmSaveContact" class="confirmSaveContact">
<p>Are you sure you want to save this contact?</p>
<input type="hidden" value="" name="policyType"/>
<input id="yesBtn2" type="image" src="img/eng-usa/button_yes.jpg" value="yes"/>
<input id="noBtn2" type="image" src="img/eng-usa/button_no.jpg" value="no"/>
</form>
</div>
</div>
<a id="fancybox-close"/>
<div id="fancybox-title" class="" style="display: none;"/>
<a id="fancybox-left" href="javascript:;">
<a id="fancybox-right" href="javascript:;">
</div>
</div>
<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"/>
</body>
</html>**
4

3 に答える 3

0
@driver.switch_to.window( @driver.window_handles.last ){

@driver.find_elemnt(:id,name)
@driver.find_elemnt(:id,age)

@driver.find_elemnt(:id,eid)
@driver.find_elemnt(:id,company)

}
于 2013-01-23T16:12:12.383 に答える
0

それは私にとってはうまくいきました...これが他の人にとってうまくいくかどうかはわかりません... UIデザイナーに基づいています。

オーバーレイ オブジェクトはドライバーと見なされ、フレームとは見なされません。

したがって、フレームに切り替えてオブジェクトを見つける必要はありません...代わりに、切り替えずにオブジェクトを見つけます。

アーリフ

于 2012-09-26T17:13:01.143 に答える
0

iframe に入力する際に​​問題が発生しました。jsがあなたに合っている場合は、私の解決策を試してください。

Web ドライバーの IFrame。RTE の入力

于 2012-09-26T06:47:52.117 に答える