Вопрос-Ответ

Selenium not able to click on Get Data button on using Python

Selenium не может нажать на кнопку "Получить данные" при использовании Python

Я собираю данные с этого веб-сайта. Элемент ниже и geckodriver

<img class="getdata-button" style="float:right;" src="/common/images/btn-get-data.gif" id="get" onclick="document.getElementById('submitMe').click()">

но не могу заставить selenium нажать на нее, пробовал даже xpath, id, но не повезло
есть ли какое-либо исправление или обходной путь, чтобы это сделать?

Переведено автоматически
Ответ 1

Чтобы щелкнуть по элементу, Get Data вы можете использовать любую из следующих стратегий поиска:


  • Использование css_selector:


    driver.find_element_by_css_selector("img.getdata-button#get").click()


  • Использование xpath:


    driver.find_element_by_xpath("//img[@class='getdata-button' and @id='get']").click()



В идеале, чтобы щелкнуть по элементу, вам нужно вызвать WebDriverWait для element_to_be_clickable(), и вы можете использовать любую из следующих стратегий поиска:


  • Использование CSS_SELECTOR:


    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "img.getdata-button#get"))).click()


  • Использование XPATH:


    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//img[@class='getdata-button' and @id='get']"))).click()


  • Примечание: вы должны добавить следующий импорт :


    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC


Ответ 2

Вероятно, вам следует попробовать по id

driver.find_element(By.ID, 'get').click()
python selenium