Selenium WebDriver第二次单击不起作用

本文关键字:不起作用 单击 第二次 WebDriver Selenium | 更新日期: 2023-09-27 18:20:15

我正在按位置进行点击,当我移动到位置并进行点击时。第一次点击很好,但另一次没有反应。

我的主要目标:我有一个(x,y)列表,如果我需要点击

代码

 Actions action = new Actions(driver);
 action.MoveByOffset(BlocX + 12, BlocY + 12);
 action.Click();//only this is working
 action.Perform();
 action.Release();
 action.MoveByOffset(BlocX + 36, BlocY + 12);
 action.Click();
 action.Perform();
 action.Release();
 action.MoveByOffset(BlocX + 60, BlocY + 12);
 action.Click();
 action.Perform();
 action.Release();

我在这段代码中缺少了什么,我如何预处理所有的点击?

我试着让表演在最后这不是工作太

这是代码

  Actions action = new Actions(driver); 
  action.MoveByOffset(BlocX + 12, BlocY + 12);
  action.Click();
  action.Release();
  action.MoveByOffset(BlocX + 36, BlocY + 12);
  action.Click();
  action.Release();
  action.MoveByOffset(BlocX + 60, BlocY + 12);
  action.Click();
  action.Perform();

这使得更多的点击只有在这种情况下,当我不再移动鼠标位置

  Actions builder = new Actions(driver);
  builder.MoveByOffset(BlocX + 12, BlocY + 12).Click();
  builder.Click();
  builder.Click();
  builder.Click();
  builder.Perform();

有人知道如何在所有位置进行所有点击吗?

Selenium WebDriver第二次单击不起作用

尝试构建所有顺序操作,然后执行它。每次必须单击时,也要在Actions类上调用new,因为根据执行第二次单击时的代码,鼠标指针将位于BlocX + 12位置。所以您的第二次点击发生在BlockX + 12 + BlockX + 36

// click 1
Actions actions = new Actions(driver);
actions.moveByOffset(BlocX + 12, BlocY + 12).click().build().perform();
// click 2
actions = new Actions(driver);
actions.moveByOffset(BlocX + 36, BlocY + 12).click().build().perform();
// click 3
actions = new Actions(driver);
actions.moveByOffset(BlocX + 60, BlocY + 12).click().build().perform();