如何使用 Selenium 预加载此页面?

How can I preload this page with Selenium?

如何在下面视频中显示的页面上预加载所有信息?该页面仅加载前 20 个应用程序,当您滚动时,它会在您到达底部时再加载 20 个,因此 20、40、60 等。有没有办法使用 selenium 预加载所有应用程序?该页面使用它自己的滚动条而不是浏览器。

https://www.youtube.com/watch?v=WTVyNoQvdJs

使用此代码解决

actions = ActionChains(driver)
body = driver.find_element_by_class_name('selected_box')
body.click()
while True:
    try:
        driver.find_element_by_xpath('//*[@id="interview_list"]/div[4]/p/strong')
        break
    except:
        actions.send_keys(Keys.PAGE_DOWN)
        actions.perform()

这可以通过几种不同的方式完成。在这个例子中,我将使用键函数 selenium 库中的向下翻页命令:

from selenium.webdriver.common.keys import Keys

body = driver.find_element_by_xpath('/html/body')
body.send_keys(Keys.PAGE_DOWN)

只需将其放入 for 循环中进行特定次数的尝试,或将其嵌入 while 循环中,直到找到所需的 XPATH。

使用 for 循环的示例

body = driver.find_element_by_xpath('/html/body')
for i in range(X):
    body.send_keys(Keys.PAGE_DOWN)

使用 while True 循环的示例

body = driver.find_element_by_xpath('/html/body')
while True:
    try:
        driver.find_element_by_xpath("DESIRED_XPATH")
        break
    except:
        body.send_keys(Keys.PAGE_DOWN)