我正在开发一个项目,我想将原始数据从 Zerodha 提取到 pandas。 我正在将 selenium 与 python 一起使用,并在单击切换按钮时遇到问题,该按钮将显示原始数据。 请参阅下面的代码并让我知道相同的修复方法。
版本详情: Python 3.12.1 硒 4.17.2
Zerodha 切换按钮源代码:
<cq-toggle class="ciq-DT tableview-ui" cq-member="tableView">
<span></span>
<cq-tooltip>Table View</cq-tooltip>
</cq-toggle>
Python代码:
opts = Options()
#opts.set_headless()
#assert opts.headless # Operating in headless mode
browser = Firefox(options=opts)
browser.implicitly_wait(3)
browser.get('https://kite.zerodha.com')
url_old=browser.find_element(By.ID,value='userid')
url_old.send_keys('XXXXXX')
url_old=browser.find_element(By.ID,value='password')
url_old.send_keys('XXXXX')
url_old.submit()
time.sleep(10)
browser.get('https://kite.zerodha.com/chart/ext/ciq/BSE/SBIN/128028676')
time.sleep(10)
#element=browser.find_element(By.ID,value='tableview-ui')
browser.find_element(By.TAG_NAME,value='ciq-DT tableview-ui').click()
如果需要任何其他信息,请告诉我。
我尝试使用类“ciq-DT tableview-ui”在 findElement 的帮助下定位切换按钮并面临以下异常:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ciq-DT tableview-ui;
我还尝试识别元素 By.Class、By.ID、By.XPath 和 By.CSS_SELECTOR,但没有成功。
更改此行:
browser.find_element(By.TAG_NAME,value='ciq-DT tableview-ui').click()
至:
browser.find_element(By.CSS_SELECTOR,value='.ciq-DT.tableview-ui').click()