某些页面在用户滚动超过某个阈值后加载内容。对于例如,LinkedIn.com的搜索栏返回一个页面,HTML中最初只出现前4-6个结果。实际上,当您向下滚动时,嵌入的javascript将加载额外的配置文件,以显示总共10-12个结果。
因此,如果我想使用Selenium获取页面中的所有配置文件,我需要模拟用户的滚动操作。我尝试使用driver.execute_script("window.scrollTo(0,1000);")
,但这似乎只在驱动程序在活动窗口中运行时有效。如果我的驱动程序在后台运行,Javascript将不会加载其他配置文件。
有没有办法强制javascript加载所有元素?我尝试了driver.execute_script("window.focus();")
,但没有成功。谢谢
这是我使用过的,似乎对我有用。我用它来链接edin网站。
for i in range(5000):
browse = "window.scrollTo(0," + str(i) + ")"
browser.execute_script(browse)
i = i + 400
希望它能帮助你!