Python Selenium Webdriver:无法使用 "textContent" 获取所有隐藏元素的数据

Python Selenium Webdriver: Unable to fetch data for all hidden elements using "textContent"

我想从 Netflix 抓取数据以获取以下信息: 1.Show 姓名 2.Season 3.Episode 每个季节的名称 4.URL 每集 5.Duration 为每个节目。 Selenium 版本:3.141.0 Python 版本:3.6.6,使用 Chrome Webdriver.

该工具可以登录,搜索特定节目并单击剧集选项卡,如下所示: Screenshot of sample episodes for a show

HTML个元素每集详情如下:

div class="slider-item slider-item-0" 
div class="slider-item slider-item-1"
div class="slider-item slider-item-2"
div class="slider-item slider-item-3"
div class="slider-item slider-item-"
div class="slider-item slider-item-"
div class="slider-item slider-item-"
div class="slider-item slider-item-"

第 4 项之后,其他元素从主屏幕隐藏

我使用以下代码定位元素 driver.find_elements_by_xpath("//div[@class='episodeTitle']// p[@class ='ellipsized']"). 这给出了每个节目的剧集名称列表。

我知道我们可以使用 print demo_div.get_attribute('innerHTML') 来定位隐藏元素 driver.execute_script("return arguments[0].innerHTML", demo_div)

打印demo_div.get_attribute('textContent') driver.execute_script("return arguments[0].textContent", demo_div) 来自下面 link: https://yizeng.me/2014/04/08/get-text-from-hidden-elements-using-selenium-webdriver/ 问题:每次遗漏最后两集或更多集的细节。 我已经使用上述两种技术来获取隐藏元素,但没有运气 我还使用了 Web 驱动程序隐式和显式等待时间,但仍然缺少一些情节。 获取剧集名称的代码片段:

e8= driver.find_elements_by_xpath("//div[@class='episodeTitle']//p[@class ='ellipsized']")

感谢您的帮助。

这些 div 在单击箭头时动态加载。

  1. 您应该提取可见项目列表
  2. 然后单击箭头按钮并等待列表替换或加载
  3. 提取新列表