Работа над сценарием для загрузки электронной таблицы из https://www.barchart.com/options/unusual-activity/stocks
После входа в систему I go для загрузки электронной таблицы с помощью метко отмеченной кнопки «Загрузить», но это не так. t работает, во многих случаях он закрывает окно браузера, и я получаю исключение «Элемент не прикреплен к документу страницы».
Вот мой исходный код:
def dataDownload(): # Downloads the unusual options activity spreadsheet
# Sets spider to use ChromeDriver
driver = webdriver.Chrome('./lib/chromedriver.exe')
driver.get('https://www.barchart.com/options/unusual-activity/stocks')
# Logs into Barchart
config = configparser.ConfigParser()
config.read("./lib/config.txt")
username = config.get('configuration','username')
password = config.get('configuration','password')
openlogin = driver.find_element_by_xpath("//a[contains(text(),'Log In')]")
driver.execute_script("arguments[0].click();", openlogin)
login = driver.find_element_by_xpath("//input[@placeholder='Login with email']")
login.send_keys(username, Keys.TAB, password, Keys.ENTER)
# Downloads spreadsheet
element = driver.find_element_by_xpath("//span[contains(text(),'download')]")
element.click()
dataDownload()
С Проблемная область:
# Downloads spreadsheet
element = driver.find_element_by_xpath("//span[contains(text(),'download')]")
element.click()
Я пробовал много вещей, чтобы исправить это, включая:
driver.execute_script()
---------------------------------
ignored_exceptions=(NoSuchElementException,StaleElementReferenceException,)
element = WebDriverWait(driver, 2,ignored_exceptions=ignored_exceptions)\
.until(expected_conditions.presence_of_element_located((By.XPATH, "//span[contains(text(),'download')]")))
element.click()
---------------------------------
ignored_exceptions=(NoSuchElementException,StaleElementReferenceException,)
element = WebDriverWait(driver, 2,ignored_exceptions=ignored_exceptions)\
.until(expected_conditions.presence_of_element_located((By.XPATH, "//span[contains(text(),'download')]")))
driver.execute_script("arguments[0].click();", element)
и различные способы ожидания загрузки страницы. Ничего не получилось.