首页 > 解决方案 > 滚动 Python Selenium 中的特定 DIV 元素

问题描述

我正在尝试做一个简单的 Python Selenium 自动化,其中脚本将单击一个链接,该链接会在页面顶部打开一个对话框(Instagram 个人资料)。

上述对话框将显示关注者列表,但不幸的是,包含该列表的 UL 将仅显示前 12 个关注者(或 LI)。它由 AJAX 提供支持以“加载更多”关注者。

无论如何,为了模拟加载更多关注者,我尝试了以下代码:

driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/ul').send_keys(Keys.END)

或者

driver.find_element_by_tag_name('body').send_keys(Keys.END)

不幸的是,它不起作用。我想知道是否有正确的方法来做到这一点(向下滚动专注于活动 div 或任何页面元素)?

提供下图以显示所述页面的 html 结构。

在此处输入图像描述

感谢您对此的帮助,非常感谢!

标签: pythonselenium

解决方案


你可以试试这样的东西吗?这将滚动到您提到的 div 元素。

Python代码

element = driver.find_element_by_xpath("xpath_of_div_element")
driver.execute_script("arguments[0].scrollIntoView(true);", element);

Java 示例:

WebElement element = driver.findElement(By.id("id_of_div_element"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);

推荐阅读