繁体   English   中英

Selenium Python:如何在弹出窗口中向下滚动 window

[英]Selenium Python: How to Scroll Down in a Pop Up window

我正在从事 Linkedin web 抓取项目。 我正在尝试获取某人感兴趣的公司列表(注意我没有使用 API)。 这是一个动态网站,所以我需要在抓取公司名称的同时向下滚动。 我知道如何在 MAIN window 中执行此操作,但由于 Interest 是一个弹出窗口 window,因此滚动解决方案不起作用。 到目前为止我的代码是:

from selenium.webdriver.common.keys import Keys
bar = driver.find_element_by_xpath('//ul[@class="entity-list row"]')
bar.send_keys(Keys.END)

由于它不起作用,我也尝试过:

bar = driver.find_element_by_xpath('//ul[@class="entity-list row"]')
driver.execute_script('arguments[0].scrollTop = arguments[0].scrollHeight', bar)

问题是我没有对弹出窗口 window 采取行动,而是对主要的行动采取行动,所以它没有达到预期的效果。

在此处输入图像描述

您可以尝试在弹出窗口中找到元素(可以集中显示的元素),例如一些锚点:

element_inside_popup = driver.find_element_by_xpath('//div[@class="entity-list-wrapper ember-view"]//a')

然后使用以下代码向下滚动弹出窗口:

from selenium.webdriver.common.keys import Keys

element_inside_popup.send_keys(Keys.END)

首先我尝试使用这个脚本,但它不起作用:

scrollable_popup = driver.find_element(By.XPATH, '/html/body/div[6]/div/div/div/div[2]')
for i in range(5):
    scrollable_popup.send_keys(Keys.END)
    time.sleep(2)

然后我使用了这个脚本,它对我来说很好用:

scrollable_popup = driver.find_element(By.XPATH, '/html/body/div[6]/div/div/div/div[2]')
for i in range(5):
    driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scrollable_popup)
    time.sleep(2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM