0

MStest で WebDriver (2.35.0.0) を実行していますが、element.Click() メソッドを動作させることができません。[通常のハイパーリンクや asp:buttons などは問題なくクリックできます] - Firefox 23.0.1

Click() メソッドは例外を発生させませんが、マークアップで指定されたポストバックは発生しません [明らかに、ブラウザーで手動でテストすると正常に動作します]。

loginlinkBut​​ton のタイプは asp:linkBut​​ton です。

FindElement が正しい要素を返すことを確認しました。

driver = new FirefoxDriver(profile);
IWebElement loginlinkButton = driver.FindElement(By.Id("login"));   //.Click();

//Tried this
loginlinkButton.Click();
//Tried this too
new Actions(driver).MoveToElement(loginlinkButton).Click().Perform();

レンダリングされるマークアップは次のとおりです。

<a id="login" class="tid-login" href="javascript:__doPostBack('login','')">Login</a>

ページに重複する ID がないことを確認し、要素の名前を変更しようとしました。

また、CSS による要素の選択も試みました。

driver.FindElement(By.LinkText("Login")).Click();
4

2 に答える 2

0

例外がスローされない場合は、おそらく親要素を選択します。例えば

<div id="login">
   <span>login</span>
</div>

過去にこの問題があり、スパンを選択したところ、うまくいきました。つまり、例外がスローされない場合は、おそらく間違った要素を選択しています。

于 2013-10-02T23:57:58.263 に答える