私はHTMLでリンクしています。私はPage Objectパターンを使ってSeleniumでスクリプトを書いています。しかし、オブジェクトがpageFactoryで初期化されたときにMouseMoveアクションを実行することはできません。 「これは失敗します」例外がスローされますなぜ私はSelenium WebDriver for C#とPageFactory for Initializationを使ってマウスを動かすことができません
class BingPage
{
private readonly IWebDriver driver;
public static readonly String BASE_URL = "http://bing.com/";
[FindsBy(How = How.XPath, Using = ".//*[@id='scpt2']/a[text()='Shopping']")]
private IWebElement ShoopingLink;
public BingPage(IWebDriver driver)
{
this.driver = driver;
//Page Factory will use Driver to init searchButton and queryEdit objects
PageFactory.InitElements(driver, this);
}
public void HoverShoppingLink()
{
Actions builder = new Actions(driver);
IWebElement elem = driver.FindElement(By.XPath(".//*[@id='scpt2']/a[text()='Shopping']"));
builder.MoveToElement(elem).Build().Perform();//This will work
builder.MoveToElement(ShoopingLink).Build().Perform(); //This will fail
}
}
行がコメントでマークされた: だから、私はそのようなクラスを持っている「移動アクションのための場所を提供しなければならない。パラメータ名:actionTarget」
しかし、ときに私が手動でルックアップ要素 - それは動作します。 誰かが私にその理由を教えてもらえますか?
IEのドライバを搭載した.Net、.Net 4.0ではセレン2.0です。
2.48.2バージョンで再度再生します。これで、オブジェクトがターゲットタイプと一致しません –