2
<iframe height="0" frameborder="0" width="500" scrolling="no" style="position: absolute; top: 185.5px; left: 460.5px; height: 357px; width: 500px; z-index: 10002; border: medium none; background-color: rgb(255, 255, 255); opacity: 0;" src="/foresee/shim.gif" alt="Survey Invitation Helper Window - Please Ignore">
<html>
<head>
<meta name="viewport" content="width=device-width; height=device-height;">
<style>
<title>shim.gif (GIF Image, 1&nbsp;×&nbsp;1 pixels)</title>
</head>
<body>
<img src="https://www3-qan.tivo.com/foresee/shim.gif" alt="https://www3-qan.tivo.com/foresee/shim.gif">
</body>
</html>
</iframe>
<div class="fsrwin" style="position: absolute; width: 500px; z-index: 10005; left: 460.5px; top: 185.5px; opacity: 1;">
<div class="innerwin">
<div class="fsr_top">
<div class="fsr_middle">
<div class="fsr_closeBody fsr_closeButtons">
<button id="decline" class="fsr_closeSticky fsr_button fsr_decline">No thanks</button>
<button id="accept" class="fsr_closeSticky fsr_button fsr_accept">Yes, I'll give feedback</button>
</div>

フレーム内の操作を行うには、フレームに切り替える必要があることを理解しています。

そこに私の問題があります:

  • フレームに切り替えるにはどうすればよいですか?(switchステートメントで使用する適切なロケーターを見つけることができません(driver.switchto()。frame( "WHAT SHOULD GO IN HERE")))?

  • 毎回新しいページに移動するときに、このフレームが存在するかどうかを確認する方法はありますか?

助けてくれてありがとう....マイク

4

2 に答える 2

4

フレームがページ上の唯一のフレームである場合は、

driver.switch.frame(0); //しかし良い方法ではありません

また

xpathなどを使用してiframeを識別し、それを以下のように使用できます

driver.switch.frame(driver.findElementByXpath("//iframe[contains(@src,'forsee')]"))

要素の識別は一意である必要があります。上記のxpathは一方向にすぎませんが、一意ではない場合があります。HTML全体によって異なります。

お役に立てば幸いです。

于 2012-10-05T12:15:12.883 に答える
0

セレンIDEを介してテストを記録し、必要に応じてセレンrcjunitまたはtestngにエクスポートします。

selenium.selectFrame(frameName) ..のような行があります。driver.switchToFrame(frameName)で同じフレーム名を使用します

于 2012-10-04T11:46:08.240 に答える