搜索youtube后,我想向下滚动以匹配要查找的视频,否则会出现错误。假设我要查找的视频位于页面底部,我必须向下滚动,否则无法成功。滚动条到达页面的末尾,但没有单击视频,这一次它一直进入相同的循环。
var chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
ChromeOptions options = new ChromeOptions();
options.AddUserProfilePreference("profile.default_content_setting_values.images", 2);
options.AddArgument("start-maximized");
options.AddArgument("disable-infobars");
options.AddArgument("--disable-extensions");
var driver = new ChromeDriver(chromeDriverService, options);
driver.Navigate().GoToUrl("https://www.youtube.com/");
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromMilliseconds(1500));
var elementsWithSearchID = wait.Until((driver) => driver.FindElements(By.Id("search")));
var search = elementsWithSearchID.Where(e => e.TagName == "input").FirstOrDefault();
search.SendKeys("Hello\n");
Thread.Sleep(2000);
string jsComand = "" +
"page = window.scrollBy(0,10000);" +
"return page;";
while (true)
{
var height = driver.ExecuteScript("return document.body.scrollHeight");
Thread.Sleep(1000);
driver.FindElementByTagName("body").SendKeys(Keys.End);
}
driver.FindElement(By.XPath("//a[@href='/watch?v=VKIiCOZ2Eo4']")).Click();