我正在努力实现的BeautifulSoup等效目标是:
page_soup = soup(page_html)
tags = {tag.name for tag in page_soup.find_all()}
tags
如何使用硒来实现这一点?我只是想打印出一个网站使用的独特标签,而不必遍历整个HTML源代码,这样我就可以开始分析它,并从网站的特定部分中获取信息。我现在不在乎标签的内容是什么,我只想知道使用了什么标签。
我偶然发现了一个答案,但不确定是否有更优雅的做事方式是这样的。。。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
website = 'https://www.afr.com'
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(website)
el = driver.find_elements(by=By.CSS_SELECTOR, value='*')
tag_list = []
for e in el:
tag_list.append(e.tag_name)
tag_list = pd.Series(tag_list).unique()
for t in tag_list:
print(t)