SeleniumとVisual Studioの新機能です。私は単にWebページにログインし、ログインしているページの要素を確認するためのテストケースを作成しました。ログインは問題ありませんが、次のページに移動しますが、 XPath、ID、または名前として。私は取得エラー、次の種類の...Selenium C#は、Xpath、Id、名前でページ上の要素を見つけることができません。
OpenQA.Selenium.NoSuchElementException:いいえ、そのような要素:要素が見つかりません:{ "メソッド": "のxpath"、 "セレクタ": "// * [@ ID =「lblApplicationVersion」] "}
私はまた、このような
new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementExists((By.XPath("//*[@id='lblApplicationVersion']"))));
...など、いくつかの異なる待機を追加しました...しかし、これは単にページを持っているにもかかわらず、全期間を待ち間違いなくロードされました。あなたがすでに解決策を発見した、ことを聞いて良いですが、あなたのようにそれを共有する必要があり
<html>
<head>...</head>
<frameset border="0" framespacing="0" rows="100,89%" frameborder="0">
<frame name="ob_frm_header" src="header.aspx" noresize="noresize" scrolling="no">
#document
<!DOCTYPE html>
<html>
<head>...</head>
<body>
<form method="post" action="./header.aspx" id="Form1">
<div class="aspNetHidden">...</div>
<script type="text/javascript">
...
</script>
<script type="text/javascript">
...
</script>
<script type="text/javascript">
...
</script>
<div id="header">
<div id="header_left">
<a id="OEMLogoLink" href="https://observatory.spikescavell.net/" target="_parent">...</a>
<div id="application_version" class="statuspanel_application_version">
<span id="lblApplicationVersion">v4.3.4</span>
</div>
</div>
<div id="MainMenu1" onresize="MainMenuControls.MainMenuStrip.prototype.sizeChanged($get('MainMenu1'));" style="overflow: hidden; width: 1644px;" menuname="Observatory_Main" submenuleftoffset="201" submenuframe="ob_frm_main" submenuid="SubMenu1">
</div>
<div id="statuspanel">...</div>
</div>
</form>
</body>
</html>
</frame>
<frameset id="frmset_ob_menu_main" cols="201,81%" border="0" framespacing="0" frameborder="0">
<noframes>...</noframes>
</frameset>
</html>
通常通り私がこれを投稿したらすぐに答えを見つけたと思います!ドライバーをフレーム、つまりdriver.SwitchTo()に切り替える必要があるようです。フレーム(フレーム名); – alex
はい、これは問題です、フレームは別々のHTML文書です – kotoj