gpt4 book ai didi

java - 如何使用 selenium webdriver 进行水平滚动

转载 作者:行者123 更新时间:2023-12-02 02:59:53 25 4
gpt4 key购买 nike

我想使用此 site 执行水平滚动

1)首先缩小浏览器大小,直到您看到表格滚动条。

我已经完成了以下代码片段,但它对我来说效果不佳。

driver.get("https://weather.com/en-IN/weather/5day/l/USID0011:1:US");
Dimension d = new Dimension(521,628);
driver.manage().window().setSize(d);
driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS);

到目前为止,我的代码运行良好,但我的执行从这里开始停止。

我已经尝试使用 Action class 解决这个滚动问题,但是,同样的问题正在重复。

Actions act = new Actions(driver);
WebElement horizontal_scroll = driver.findElement(By.xpath("//div[@id='twc-scrollabe']/table"));
act.clickAndHold(horizontal_scroll).moveByOffset(40, 0).release().perform();

我也尝试过以下方法,但同样的问题正在重复。

WebElement horizontal_scroll = driver.findElement(By.xpath("//div[@id='twc-scrollabe']/table"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript(driver.execute_script("arguments[0].scrollIntoView()", horizontal_scroll));

在我的应用程序中,我无法使用此方法,因为 table 标记内没有可用的 style 属性。

JavascriptExecutor jse = (JavascriptExecutor) driver;     
jse.executeScript("document.getElementById(''twc-scrollabe').setAttribute('style', 'position: relative; top: 0px; left: -658px; width: 1461px;')");

有人可以帮我解决这个问题吗?
非常感谢您的帮助。
谨致问候,
耆尼什·卡帕迪亚

最佳答案

只需使用下面的水平滚动

JavascriptExecutor jse = (JavascriptExecutor) driver;     
jse.executeScript("document.querySelector('table th:last-child').scrollIntoView();");

这应该允许滚动到表格的最后一列

关于java - 如何使用 selenium webdriver 进行水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42507826/

25 4 0
文章推荐: java - 使用 TestNg DataProvider 时出错必须返回 Object[][] 或 Iterator[],而不是类 [[Ljava.lang.Object;