/ / Selenium / python - impossibile fare clic su un elemento: jquery, python, selenio, selenio-webdriver

Selenium / python - impossibile fare clic su un elemento: jquery, python, selenio, selenio-webdriver

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 № 1

Il 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()