切换到其他标签页时,报废硒停止

时间:2020-09-09 10:22:35

标签: python selenium web-scraping

我必须从印度的一个电子商务网站上删除产品详细信息。显示前20个项目后,我们需要向下滚动以获取下一组项目。我在python中为此使用了硒,这将打开一个选项卡以抓取该站点。但是,当我从该选项卡切换到另一个选项卡或窗口时,滚动会立即停止并且无法进一步取消。 代码的这一部分确实为我滚动。

arrow = browser.find_element_by_xpath('//div[@id="see-more-products" and @class="show-more btn"]')
arrow.click()

有没有办法在不激活该选项卡的情况下继续进行抓取?

2 个答案:

答案 0 :(得分:1)

您需要先告诉Selenium切换选项卡。

以下是here中的一个示例:

from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.get("https://accounts.google.com/signup")
driver.find_element_by_link_text("Help").click()
#prints parent window title
print("Parent window title: " + driver.title)
#get current window handle
p = driver.current_window_handle
#get first child window
chwnd = driver.window_handles
for w in chwnd:
   #switch focus to child window
   if(w!=p):
   driver.switch_to.window(w)
   break
time.sleep(0.9)
print("Child window title: " + driver.title)
driver.quit()

答案 1 :(得分:0)

您可以尝试无头运行硒,这意味着它无需实际打开浏览器窗口即可抓取数据。

查看此文档/指南:https://duo.com/decipher/driving-headless-chrome-with-python