【发布时间】:2021-02-11 13:25:27
【问题描述】:
我是 Python 和 Selenium 的新手。我正在尝试做一些事情——我确信我正在以一种非常迂回的方式进行——非常感谢任何帮助。
我试图解析的页面有不同的卡片需要点击,我需要转到每张卡片,然后从那里获取名称 (h1) 和 url。我还没有走多远,这就是我目前所拥有的。
我浏览了第一页,抓取了所有的 url,将它们添加到一个列表中。然后我想浏览列表,然后转到每个 url(打开一个新选项卡),然后从那里获取 h1 和 url。似乎我什至无法抓住 h1,它会打开一个新标签,然后挂起,然后打开同一个标签。
提前谢谢你!
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get('https://zdb.pedaily.cn/enterprise//') #main URL
title_links = driver.find_elements_by_css_selector('ul.n4 a')
urls = [] #list of URLs
# main = driver.find_elements_by_id('enterprise-list')
for item in title_links:
urls.append(item.get_attribute('href'))
# print(urls)
for url in urls:
driver.execute_script("window.open('');")
driver.switch_to.window(driver.window_handles[1])
driver.get(url)
print(driver.find_element_by_css_selector('div.info h1'))
【问题讨论】:
标签: python selenium parsing web-scraping