Selenium 在使用 Python 时无法单击“获取数据"按钮

Selenium not able to click on Get Data button on using Python(Selenium 在使用 Python 时无法单击“获取数据按钮)
本文介绍了Selenium 在使用 Python 时无法单击“获取数据"按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在从这个网站上抓取数据.元素在下面和geckodriver

I am scraping data from this website . The element is below and 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 但不是运气是否有任何修复或解决方法来完成它?

but can't get selenium to click it tried even xpath, id but not luck is there any fix or work around to get it done?

推荐答案

要点击元素 Get Data,您可以使用以下任一 定位器策略:

To click on the element Get Data you can use either of the following Locator Strategies:

  • 使用 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() 并且您可以使用以下任一 定位器策略:

    Ideally, to click on the element you need to induce WebDriverWait for the element_to_be_clickable() and you can use either of the following Locator Strategies:

    • 使用 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()
    

  • 注意:您必须添加以下导入:

  • Note: You have to add the following imports :

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

  • 这篇关于Selenium 在使用 Python 时无法单击“获取数据"按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

    本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

    相关文档推荐

    How to find element by part of its id name in selenium with python(如何使用python在selenium中通过其id名称的一部分查找元素)
    NoSuchElementException: Message: Unable to locate element while trying to click on the button VISA through Selenium and Python(NoSuchElementException:消息:尝试通过 Selenium 和 Python 单击 VISA 按钮时无法找到元素) - IT屋-程序员软件开发技术分
    selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable with Selenium and Python(selenium.common.exceptions.ElementClickInterceptedException:消息:元素点击被拦截:元素不可点击
    Selenium Compound class names not permitted(不允许使用硒化合物类名称)
    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element while trying to click Next button with selenium(selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:尝试使用 selenium 单
    Get original filename google app engine(获取原始文件名 google app engine)