2

だから私は自分のウェブページにビングマップを持っていて、ユーザーはポイントをクリックしてシェイプを閉じることで、検索したいエリアを描くことができます。

私は webdriver を使用してこれを自動化しようとしていますが、クリックを呼び出すとマップの真ん中をクリックします。

基本的にこの質問と同じ問題ですが、Java ではなく C# ドライバーに問題があります。

これが私のコードです:

RemoteWebDriver driver = ScenarioContext.Current.Get<RemoteWebDriver>();

driver.FindElementById("location").SendKeys("London");
driver.FindElementById("find").Click();
driver.FindElementById("boundry").Click();

IWebElement map = driver.FindElementById("Map");

Actions actions = new Actions(driver);

actions
  .MoveToElement(map, -100, -100)
  .Click()
  .Build()
  .Perform();

actions
  .MoveToElement(map, -100, 100)
  .Click()
  .Build()
  .Perform();

actions
  .MoveToElement(map, 100, -100)
  .Click()
  .Build()
  .Perform();

actions
  .MoveToElement(map, 100, 100)
  .Click()
  .Build()
  .Perform();

actions
  .MoveToElement(map, -100, -100)
  .Click()
  .Build()
  .Perform();

マウスが正しい位置に移動すると、クリック イベントによってマウス ポインターが要素の中央にリセットされます。

4

1 に答える 1

0

Clickメソッドをよく見てみてください。役に立たない場合は、MouseDownメソッドを参照してください。ここで見つけることができるメソッドの説明http://selenium.googlecode.com/svn/trunk/docs/api/dotnet/index.html OpenQA.Selenium Namespace->IMouse Interface->IMouse Methodsが 必要 です。

于 2012-09-20T08:44:49.537 に答える