【问题标题】:Selenium moveToElement twice and then click on element is not workingSelenium moveToElement 两次然后单击元素不起作用
【发布时间】:2016-06-24 11:41:47
【问题描述】:

鼠标悬停在两个元素上后我需要单击一个元素,即鼠标悬停在元素1上->鼠标悬停在元素2上->单击元素3。

下面是我的代码:

Actions actions = new Actions(driver);
actions.moveToElement(billingBtn).build().perform();
actions.moveToElement(billingconfigurationBtn).build().perform();
actions.moveToElement(billingcyclemanagementBtn).click().build().perform();

这对我不起作用。它执行得如此之快,以至于它只能执行第一步。

请帮忙!

【问题讨论】:

  • 您能在调用.build().perform() 之前尝试创建整个Action 链吗?例如。 actions.moveToElement(billingBtn).moveToElement(...).moveToElement(...).click().build().perform();
  • @RemcoW:试过了。没有运气。

标签: java selenium selenium-webdriver mouseover


【解决方案1】:

如果元素 2 上的悬停事件取决于在元素 1 上的鼠标悬停之后出现的某些元素的外观,则元素 1 上的鼠标悬停动作和下一条语句中的鼠标悬停元素 2 上的元素可能无法检测到是否鼠标是否悬停在元素 1 上,因为它正在快速执行

尝试做
鼠标悬停在元素 1
Webdriver 等待元素 1 上悬停后出现的某些元素
鼠标悬停在元素 2
Webdriver 等待元素 2 上悬停后出现的某些元素
单击所需的元素

【讨论】:

  • 我们已经尝试使用 new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOf(element));对于所有 3 个元素。但是,没有运气。
  • 鼠标悬停在元素上后元素是否显示一些悬停文本。如果它显示,那么最好等待悬停文本显示,这将确认鼠标悬停在所需的元素上
  • 是的。好主意。但是任何元素上都没有悬停文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-05
  • 2019-04-28
  • 2015-10-07
  • 2018-01-14
  • 1970-01-01
  • 2016-03-23
  • 2020-01-15
相关资源
最近更新 更多