【发布时间】:2016-02-01 20:21:02
【问题描述】:
有没有办法在网页中滚动 div 的滚动条?更准确地说,我正在尝试自动滚动 Instagram 帖子的上下滚动,例如 https://instagram.com/p/9D5Ir3CY3D/?taken-by=bentomonsters。但是,由于滚动条可能使用 CSS 属性隐藏,我可能无法检测到它,因为滚动条不是元素。
下面是滚动条的 css 样式(来自 firebug)。
.-cx-PRIVATE-PostInfo__comments {
margin-left: -24px;
margin-right: -24px;
margin-top: -5px;
padding-left: 24px;
padding-right: 24px;
padding-top: 5px;
}
.-cx-PRIVATE-PostInfo__commentsSidebarVariant {
overflow: auto;
padding-bottom: 20px;
}
.-cx-PRIVATE-PostInfo__comments {
flex-grow: 1;
}
ol, ul {
list-style: outside none none;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure,
figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
border: 0 none;
font: inherit;
margin: 0;
padding: 0;
vertical-align: baseline;
}
我尝试过诸如
之类的方法WebElement commentscroll = dr.findElement(By.className("commentsSidebarVariant"));
jse.executeScript("return arguments[0].scrollTop;", commentscroll);
jse.executeScript("$(\"#commentsSidebarVariant\").animate({ scrollTop: \"100px\" })");
jse.executeScript("arguments[0].scrollTop = arguments[1];", commentscroll);
WebElement commentscroll = dr.findElement(By.cssSelector(".-cx-PRIVATE-PostInfo__commentsSidebarVariant"));
jse.executeScript("arguments[0].scrollTop;", commentscroll);
它们都不起作用,因为滚动条甚至没有移动。
【问题讨论】:
-
您是否在问 - 是否可以在不使用输入设备(鼠标、触控板、触控等)的情况下使元素滚动? - stackoverflow.com/questions/18030571/…
标签: java css selenium scrollbar overflow