C#硒YouTube滚动

时间:2020-08-30 16:27:16

标签: c# selenium-webdriver

搜索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();

0 个答案:

没有答案