Я думаю, что у меня над головой! Я пытаюсь выучить python, и я начал с пересмотра веб-страниц и дошел до непроходимой точки. Я получаю ошибки InvalidSessionIdException и StaleElementReferenceException. Я пробовал явное и неявное ожидание ошибок Invalid Session Id и пробовал ожидаемые условия для устаревших ошибок. Я пробовал несколько разных вещей безрезультатно. Если бы кто-то мог мне помочь, это было бы хорошо и извините за код, я только три дня изучаю python с небольшим опытом.
'''
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import StaleElementReferenceException
all_tickers = ['A', 'AA', 'AAAU', 'AACG']
driver = webdriver.Chrome()
for i in range(0, 7661):
page_num = ('&r=' + str(i * 20 + 1))
url = 'website' + str(page_num)
driver.get(url)
tickers = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="screener-content"]/table/tbody/tr[4]/td/table/tbody//td[2]/a')))
company = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="screener-content"]/table/tbody/tr[4]/td/table/tbody//td[3]/a')))
price = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="screener-content"]/table/tbody/tr[4]/td/table/tbody//td[9]/a')))
num_of_tickers = len(tickers)
for i in range(num_of_tickers):
print(tickers[i].text + " : " + company[i].text + " : " + price[i].text, '', end = '')
driver.close()
driver = webdriver.Chrome()
for index in all_tickers:
url = 'website' + index + '/cash-flow?p=' + index
driver.get(url)
FCF_TTM = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="Col1-1-Financials-Proxy"]/section/div[4]/div[1]/div[1]/div[2]/div[7]/div[2]/div[3]/div[1]/div[2]/span')))[0].text
FCF_2019 = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="Col1-1-Financials-Proxy"]/section/div[4]/div[1]/div[1]/div[2]/div[7]/div[2]/div[3]/div[1]/div[3]/span')))[0].text
FCF_2018 = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="Col1-1-Financials-Proxy"]/section/div[4]/div[1]/div[1]/div[2]/div[7]/div[2]/div[3]/div[1]/div[4]/span')))[0].text
FCF_2017 = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="Col1-1-Financials-Proxy"]/section/div[4]/div[1]/div[1]/div[2]/div[7]/div[2]/div[3]/div[1]/div[5]/span')))[0].text
FCF_2016 = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="Col1-1-Financials-Proxy"]/section/div[4]/div[1]/div[1]/div[2]/div[7]/div[2]/div[3]/div[1]/div[6]/span')))[0].text
print(FCF_TTM, FCF_2019, FCF_2018, FCF_2017, FCF_2016, '', end = '')
driver.close()
driver = webdriver.Chrome()
for index in all_tickers:
url = 'website' + index + '/key-statistics?p=' + index
driver.get(url)
shares_outstanding = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="Col1-0-KeyStatistics-Proxy"]/section/div[3]/div[2]/div/div[2]/div/div/table/tbody/tr[3]/td[2]')))[0].text
print(shares_outstanding, '', end = '')
driver.close()
driver = webdriver.Chrome()
url = 'website'
driver.get(url)
year_10_bond = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//*[@id="yfin-list"]/div[2]/div/div/table/tbody/tr[3]/td[3]')))[0].text
print(year_10_bond)
driver.close()
'''