Estoy tratando de raspar esta URL: https://www.wheel-size.com/size/acura/mdx/2001/
Los valores que quiero raspar se cargan dinámicamente, por ejemplo, Center Bore. Si abre el enlace en el navegador normal, el contenido se carga bien, pero si uso Selenium (chromedriver), sigue cargándose y los valores nunca se muestran.
¿Alguna idea de cómo puedo rasparlo? A continuación se muestra la imagen de cómo se ve. También puede ver la carga durante 1-2 segundos cuando abre el enlace en el navegador normal.
Para extraer los textos deseados, por ejemplo, 64,1 mm , 5x114,3 , etc., ya que los elementos son elementos habilitados para Google Tag Manager , debe inducir WebDriverWait para la visibilidad_de_elemento_ubicado() y puede usar las siguientes estrategias de localización :
options = Options() options.add_argument("start-maximized") options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) options.add_argument('--disable-blink-features=AutomationControlled') s = Service('C:\\BrowserDrivers\\chromedriver.exe') driver = webdriver.Chrome(service=s, options=options) driver.get('https://www.wheel-size.com/size/acura/mdx/2001/') print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[contains(., 'Center Bore')]//following::span[1]"))).text) print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[contains(., 'PCD')]//following::span[1]"))).text)Salida de la consola:
64.1 mm 5x114.3Nota : debe agregar las siguientes importaciones:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as ECPuede encontrar una discusión relevante en Cómo recuperar el texto de un WebElement usando Selenium - Python