Как извлечь данные из HTML веб-сайта с помощью драйвера PhantomJS

Вы рассматривали подклассирование статического окна и рисование владельца?

0
задан DebanjanB 13 July 2018 в 11:22
поделиться

1 ответ

В соответствии с WebSite https://shop.sprouts.com/shop/flyer для анализа данных, которые вы видите в тексте элемента, вам необходимо вызвать WebDriverWait для видимости всех желаемые элементы , и вы можете использовать следующее решение:

  • Решение:
    IList<IWebElement> elements = new WebDriverWait(driver, TimeSpan.FromSeconds(3)).Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.XPath("//span[@class='cell-title-text' and @ng-bind-html='productTitle()']")));
    foreach (IWebElement element in elements)
    {
        Console.WriteLine(element.GetAttribute("innerHTML"));
    }
    
  • Эквивалентный пример Python:
    driver.get('https://shop.sprouts.com/shop/flyer')
    myList = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.XPATH, "//span[@class='cell-title-text' and @ng-bind-html='productTitle()']")))
    for item in myList:
        print(item.text)
    
  • Консольный выход:
    Sweet Corn, 1 EA
    Cantaloupe Melons, 1 LB
    Red Cherries
    Half Chicken Breast
    Roma Tomatoes
    100% Grass Fed Ground Beef Value Pack
    Colby Jack Rbst Free
    Walnut Halves & Pieces
    
1
ответ дан DebanjanB 17 August 2018 в 13:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: