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();
有人知道如何在所有位置进行所有点击吗?
尝试构建所有顺序操作,然后执行它。每次必须单击时,也要在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();