私は Selenium WebDriver を使用しており、要素 (ボタンなど) を見つけてクリックするための小さなコードを作成しました。ボタンの HTML コードは次のとおりです。
<input type="submit" name="j_id0:j_id2:j_id3:j_id4:j_id7" value="New Master Health Program" onclick="AddLink()" class="btn">
テスト ケースの C# コードは次のとおりです。
IWebElement newMasterHealthProgramsLink = driver.FindElement(By.Name("j_id0:j_id2:j_id3:j_id4:j_id7"));
newMasterHealthProgramsLink.Click();
XPathも使用してみました:
IWebElement newMasterHealthProgramsLink = driver.FindElement(By.XPath("//input[@id='j_id0:j_id2:j_id3:j_id4:j_id5']"));
newMasterHealthProgramsLink.Click();
これを実装していてはならないという解決策を見つけました。ページは完全に読み込まれるのを待たずに、要素を見つけようとします。そのため、待機コマンドを追加しましたが、何も起こりませんでした。それでも同じエラーが発生します:
TestAutomation.Driver.Login:
OpenQA.Selenium.NoSuchElementException : The element could not be found