Manchmal habe ich ein Tag eingebettet, um bestimmte Daten im HTML-Code einer Webseite zu sammeln, und ich habe einen automatisierten Test verwendet, um zu testen, ob das eingebettete Tag korrekt war.
So suchen Sie HTML-Daten mit Beautiful Soup
Wenn es sich jedoch um eine statische Seite handelt, kann ich sie mit Beautifulsoup testen, jedoch keine HTML-Daten für einen Bildschirm mit hoher Sicherheit wie einen SSL-fähigen Bildschirm abrufen.
Wenn Sie die HTML-Daten mit Beautiful Suppe nicht abrufen können, haben wir uns für Selen entschieden, um zum Zielbildschirm zu gelangen und die HTML-Seite abzurufen.
Unten finden Sie ein Programm, das HTML-Daten mit Beautiful Suppe und Selen erfasst.
test.py
import time
from selenium import webdriver
from bs4 import BeautifulSoup
import re
#Vom Bildschirm, der auf den Bildschirm umgestellt werden kann, der von Beautiful Suppe nicht erfasst werden konnte
driver.get("test.html")
driver.find_element_by_css_selector("test").click()
#Wenn Sie zum Zielbildschirm wechseln können
source = driver.page_source
soup = BeautifulSoup(source,'html.parser')
elems = soup.find_all("script",text=re.compile("test"))
#Fahren Sie mit dem nächsten Bildschirm fort
driver.find_element_by_css_selector("test").click()
…
Sie können Beautiful Soup verwenden, um HTML-Daten zu analysieren.
source = driver.page_source
soup = BeautifulSoup(source,'html.parser')
Es ist kein Problem, wenn Sie Seleniums ** ".page_source" ** verwenden, um die HTML-Daten abzurufen.
Erstellen Sie das obige Programm für jeden erforderlichen Bildschirm und Sie sind fertig. Im Fall des oben genannten Programms wird Chrome beim Start gestartet. Daher ist es möglicherweise besser, es mit Headless zu starten. (Ich benutze Headless nicht so oft, weil Selen oft mit einem Fehler stoppt ...)
Referenz: Ich habe versucht, Headless Chrome von Selenium zu verwenden
Recommended Posts