簡體   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