【问题标题】:How to use a horizontal scrollbar (by xpath) - Selenium/Java如何使用水平滚动条(通过 xpath) - Selenium/Java
【发布时间】:2020-01-27 20:50:32
【问题描述】:

下面的元素是一个水平滚动条,用于控制网站上覆盖窗口的一小部分(“线条”):

使用以下 xpath(它没有其他属性):

//div[@class='freeze-pane-scrollbar' and not(@tabindex='-1')]

我需要将此滚动条向右移动以访问表格中的以下元素并输入数据:

(//td[@role='gridcell' and @tabindex='0'])[17]

到目前为止,我已经尝试(没有运气)使用 scrollIntoView() 和 scrollLeft()(可能是由于无法使用 getElementByID)

【问题讨论】:

  • 如果你发送一个 .click() 命令 Selenium 应该在点击之前自动滚动。

标签: java selenium xpath


【解决方案1】:

这不是一个非常“干净”的解决方案,但我使用以下代码通过单击距离滚动条中心 400 x 偏移量来实现我想要的效果,有效地将其滚动到右侧:

import org.openqa.selenium.interactions.Actions;

Actions builder = new Actions(driver);
WebElement scrollbar = driver.findElement(By.xpath("//*[@class='freeze-pane-scrollbar' and not(@tabindex='-1')]"));
builder.moveToElement(scrollbar, 400, 0).click().build().perform();

【讨论】:

  • 您的问题可能不是您没有正确识别元​​素...可能是滚动条位于 iframe 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 2017-06-26
  • 2018-04-12
  • 2012-09-16
相关资源
最近更新 更多