网站无法通过自动化正确响应(python3 Selenium)


from selenium import webdriver
browser=webdriver.Chrome('./chromedriver')
browser.get('https://www1.nseindia.com/products/content/equities/indices/historical_pepb.htm')
startDate=browser.find_element_by_id('fromDate')
startDate.send_keys('31-07-2000')
endDate=browser.find_element_by_id('toDate')
endDate.send_keys('30-06-2001')
peBox=browser.find_element_by_id('yield1')
peBox.click()
#getData=browser.find_element_by_id('get')
#getData.click()

#downLoadCSV=browser.find_element_by_link_text('Download file in csv format')
#downLoadCSV.click()

上面的代码打开Chrome浏览器,根据需要进行更改。

我已经注释掉了不起作用的部分。它会带你直到你必须按下一个写有"获取数据"的按钮。单击此按钮会打开一个小的空框,而不是我需要访问的数据。这也是我自动点击时发生的情况。

当我打开浏览器并手动完成步骤时,我能够访问数据,没问题。该网站是否阻止我进行网络抓取?在Chrome和Firefox上尝试过这个,结果相同。

也许你点击了错误的元素。您建议您按照以下步骤操作:

  1. 尝试在浏览器控制台上单击带有 id "get"的元素(按 F12(。然后document.querySelector('#get').click()运行此命令。如果它正常工作,这意味着这个"#get"元素不能通过自动化工作,你应该通过执行javascript来解决。
  2. 如果通过控制台单击"#get"元素也会打开一个空框,则应尝试单击"#get"的父元素或其子元素。

祝你好运。

最新更新