我想在这个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));
在我的应用程序中,我不能使用此方法,因为style
标记内没有table
属性。
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("document.getElementById(''twc-scrollabe').setAttribute('style', 'position: relative; top: 0px; left: -658px; width: 1461px;')");
任何人都可以帮我解决这个问题吗? 您的帮助必须得到赞赏。 最好的祝福, Jainish Kapadia
只需使用下面的水平滚动
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("document.querySelector('table th:last-child').scrollIntoView();");
这应该允许滚动到表的最后一列