Selenium no puede hacer clic en el botón Obtener datos al usar Python
Estoy extrayendo datos de este sitio web. El elemento está debajo y geckodriver.
<img class="getdata-button" style="float:right;" src="/common/images/btn-get-data.gif" id="get" onclick="document.getElementById('submitMe').click()">
pero no puedo hacer que Selenium haga clic en él. Intenté incluso xpath, id, pero no tuve suerte. ¿Hay alguna solución o solución alternativa para hacerlo?
Aceptado
Para hacer clic en el elemento Get Data, puede utilizar cualquiera de las siguientes estrategias de localización :
Usando
css_selector
:driver.find_element_by_css_selector("img.getdata-button#get").click()
Usando
xpath
:driver.find_element_by_xpath("//img[@class='getdata-button' and @id='get']").click()
Idealmente, para hacer clic en el elemento necesita inducir WebDriverWait yelement_to_be_clickable()
puede utilizar cualquiera de las siguientes estrategias de localización :
Usando
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "img.getdata-button#get"))).click()
Usando
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//img[@class='getdata-button' and @id='get']"))).click()
Nota : 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 EC