3 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
向下滾動(dòng)到特定像素:IJavascriptExecutor 在當(dāng)前選定的框架或窗口的上下文中異步執(zhí)行 JavaScript。scrollBy(0,1000) -> 滾動(dòng)到 1000px
IJavascriptExecutor js = (IJavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)");

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
最有可能的是,您有一個(gè)可滾動(dòng)(div)元素,您可以將其作為參數(shù)(可滾動(dòng))傳遞給下面的函數(shù)。
public static void scrollDownByPixAmount(IWebElement scrollable, int pixelsToScroll)
{ //assuming your driver var is a static member of same class
(driver as IJavaScriptExecutor).ExecuteScript($"arguments[0].scrollTop = {pixelsToScroll};", scrollable);
}
注意:上面的代碼片段未編譯。

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是我正在使用的。
public static void scrollDownByPixAmount(string value)
{
var windowScroll = string.Format("window.scrollBy(0,{0})", value);
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript(windowScroll, "");
}
public static void scrollUpByPixAmount(string value)
{
var value1 = "-" + value;
var windowScroll = string.Format("window.scrollBy(0,{0})", value1);
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript(windowScroll, "");
}
public static void scrollToElement(string value)
{
IWebElement val = driver.FindElement(By.XPath(value));
Actions actions = new Actions(driver);
actions.MoveToElement(val);
actions.Perform();
scrollDownByPixAmount("150");
}
添加回答
舉報(bào)