Python Selenium 滚动到底部 Google Photos 相册

标签 python selenium selenium-webdriver web-scraping

我正在尝试利用 Google Photos 幻灯片构建一个由 Raspberry Pi 驱动的数字相册。理想情况下,我希望能够通过 Selenium 自动化登录过程,然后使用 BeautifulSoup 解析每个图像的唯一 url 的 html 源。

Google 相册似乎一次加载约 12 张图像(根据图像方向可能更多/更少),这使得获取所有图像网址的列表变得更加困难。

我尝试使用以下变体来滚动图像的加载:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

不幸的是,该代码不会导致 FireFox 滚动。任何指示将不胜感激。我已经包含了我的混淆代码以供审查:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from bs4 import BeautifulSoup

driver = webdriver.Firefox()
# print(driver.current_url)
driver.get('https://accounts.google.com/ServiceLogin? sacu=1&continue=https%3A%2F%2Fphotos.google.com%2Flogin&hl=en#identifier')
# print(driver.current_url)
elem = driver.find_element_by_name('Email')
elem.send_keys('******')
elem.send_keys(Keys.ENTER)
time.sleep(5)
elem = driver.find_element_by_name('Passwd')
elem.send_keys('******')
elem.send_keys(Keys.ENTER)
time.sleep(10)
driver.get('direct link to shared album')
time.sleep(5)
driver.execute_script("window.scrollBy(0,   document.body.scrollHeight);")

最佳答案

正如 @Y-B Cause 所提到的,您可以尝试 Keys 来解决您的问题:

from selenium.webdriver.common.keys import Keys

driver.switch_to_active_element().send_keys(Keys.PAGE_DOWN)

关于Python Selenium 滚动到底部 Google Photos 相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112263/

相关文章:

python - 用年份绘制 pandas 数据框

python - 如何向终端应用程序编写透明包装器?

python - 如何在不实例化新驱动程序的情况下使用 Selenium 切换 Firefox 配置文件?

python - 修改 selenium python 绑定(bind)中的语言选项时遇到问题

java - 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

python - Xarray(来自 grib 文件)到数据集

python - 使用 asyncio 创建两个并发的异步任务

java - Selenium 。如何切换到URL中包含某个子字符串的窗口?

Selenium Chrome 浏览器 org.openqa.selenium.WebDriverException : Timed out waiting for driver server to start

java - Selenium - 无法导入包 'org.openqa.selenium.environment'