簡體   English   中英

Selenium WebDriver 第二次點擊無效

[英]Selenium WebDriver Second click not working

我正在按位置執行點擊,當我移動到位置並點擊時。 第一次點擊工作正常,但其他沒有反應。

我的主要目標:我有 (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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM