我正在按位置进行点击,当我移动到位置并进行点击时。 第一次点击工作正常,但另一次没有反应。
我的主要目标:我有(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();
任何人都知道如何对所有职位进行所有点击?
答案 0 :(得分:1)
尝试构建所有顺序操作,然后执行它。每次必须单击时,在new
类上调用Actions
,因为在执行第二次单击时根据您的代码,鼠标指针将位于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();