Sto cercando di usare python e selenio per andare asito Web per raccogliere alcuni dati, ma non riesco nemmeno a superare il popup iniziale chiedendomi di fare clic su un pulsante Accetta per accettare i termini di utilizzo! Il sito Web è Qui
Vedo che il link "Accetta" / div ha un ID e ho provato a utilizzare find_element_by_xpath e selezionando l'id, quindi ho provato a fare clic, ma non funziona.
Ho anche provato ad usare ActionChains per navigare nel pulsante e fare clic, ma non funziona neanche. L'errore che restituisce è l'elemento non è selezionabile al punto ...
Sembra che ci sia qualche jQuery / javascript in background che si sta rivelando difficile da gestire!
Qualsiasi aiuto sarebbe molto apprezzato.
risposte:
2 per risposta № 1Il trucco è attendi che il pulsante "Accetto" diventi cliccabile, vai al pulsante e fai clic su:
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("https://www.etfsecurities.com/institutional/uk/en-gb/products.aspx")
wait = WebDriverWait(driver, 10)
accept = wait.until(EC.element_to_be_clickable((By.ID, "btnPopupAccept")))
actions = ActionChains(driver)
actions.move_to_element(accept).click().perform()