【发布时间】:2023-03-23 03:35:01
【问题描述】:
import pandas as pd
import os
from webdriver_manager.chrome import ChromeDriverManager
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--start-maximized')
options.page_load_strategy = 'eager'
options.add_argument("--headless");
driver = webdriver.Chrome(options=options)
wait = WebDriverWait(driver, 20)
url = "https://www.nseindia.com/get-quotes/derivatives?symbol=SBILIFE"
driver.get(url)
expiry = "29-Jul-2021"
我想点击“选项链”,我想将表中的所有数据提取到数据框中。我想每 30 秒运行一次并获取数据。
问题是,如果我使用,
import pandas as pd
tables = pd.read_html('https://www.nseindia.com/get-quotes/derivatives?symbol=SBILIFE')
但是,此链接不会获取正确的表格,因为正确的表格位于选项链选项卡中。所以,我必须使用硒。
有没有简单的方法来获取期权链表?
【问题讨论】:
-
尝试
driver.find_element_by_link_text('Option Chain').click(),然后尝试table = driver.find_element_by_id('optionChainTable-equity') -
它说,selenium.common.exceptions.ElementNotInteractableException for driver.find_element_by_link_text('Option Chain').click()
标签: python python-3.x pandas dataframe selenium-webdriver