【问题标题】:Button clicked but nothing happens on webpage(Selenium WebDriver)单击按钮但网页上没有任何反应(Selenium WebDriver)
【发布时间】:2021-01-22 17:16:12
【问题描述】:

我正在尝试单击此网站上的“获取数据”按钮。 https://www1.nseindia.com/products/content/derivatives/currency/archieve_cd.htm

这是我的代码。我已经解决了一些问题,但是点击没有任何错误。

import time
from selenium import webdriver

from webdriver_manager.chrome import ChromeDriverManager

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By


chrome_options = Options()
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("user-data-dir=C:/Users/UserName/AppData/Local/Google/Chrome/User Data")
driver = webdriver.Chrome(ChromeDriverManager().install())

url = "https://www1.nseindia.com/products/content/derivatives/currency/archieve_cd.htm"
driver.get(url)
 
driver.find_element_by_xpath("//select[@name='h_filetype']/option[text()='Daily Bhavcopy']").click()
driver.find_element_by_id("date").send_keys('05-01-2021')
time.sleep(2)

driver.find_element_by_id("date").send_keys(Keys.ESCAPE)
time.sleep(2)

element = driver.find_element_by_css_selector('[class="getdata-button"]').click()

点击按钮后,应该会出现一个 zip 文件链接。接下来必须点击该链接。

如何点击“获取数据”按钮?非常感谢:)

【问题讨论】:

    标签: python google-chrome selenium-webdriver


    【解决方案1】:
    url = "https://www1.nseindia.com/archives/cd/bhav/CD_Bhavcopy050121.zip"
    driver.get(url)
    

    你删除了在此之后存在的所有其余代码。

    driver.find_element_by_xpath("//select[@name='h_filetype']/option[text()='Daily Bhavcopy']").click()
    driver.find_element_by_id("date").send_keys('05-01-2021')
    time.sleep(2)
    
    driver.find_element_by_id("date").send_keys(Keys.ESCAPE)
    time.sleep(2)
    
    element = driver.find_element_by_css_selector('[class="getdata-button"]').click()
    

    This is the code that you don't need.

    如果您想自动下载更多数据,请尝试编写一个生成日历日的代码并将它们放在此处CD_Bhavcopy050121.zip

    因此,当您想要从05/01/2019 中提取数据时,您必须将html 的部分更改为此CD_Bhavcopy050119.zip

    【讨论】:

    • 你试过用driver.find_elemet_by_xpath吗??
    • 也不让我。我认为他知道我们正在使用自动化脚本并且不允许我们获取数据。我会尝试另一种方法,我会及时通知您。
    • 我已经更新了我的答案。看看并告诉我你的结果。
    • 谢谢!但我想要“'Daily Bhavcopy'”。这会下载每日波动率文件。如果你能告诉我你是如何找到这个的。
    • 我是有经验的人发现的。我以前遇到过这样的问题。你总是必须考虑替代方案。如果您只是打开浏览器,请单击get data,然后查看结果,如果您右键单击弹出的文件并单击copy url,您将获得下载文件的链接。
    猜你喜欢
    • 2017-11-06
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多