2

因此,我的网页上有一个 bing 地图,用户可以通过单击点并关闭形状来绘制他们想要搜索的区域。

我正在尝试使用 webdriver 自动执行此操作,但是当我调用 click 时,它会在地图中间点击。

它与这个问题基本相同,但问题在于 c# 驱动程序而不是 java.util.

这是我的代码:

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 命名空间->IMouse 接口->IMouse 方法 希望对您有所帮助!

于 2012-09-20T08:44:49.537 回答