Я пытался написать автоматический сценарий для загрузки некоторых исторических данных о ценах USD/CAD в иностранной валюте с селеном. Эти данные доступны наэлемент selenium щелчок не работает как ожидалось
https://www.dukascopy.com/swiss/english/marketwatch/historical/
данные, которые я хочу, чтобы загрузить выбрать свечные варианты с 1 час, после выбора кнопки «Tick» вручную и выберите «Час», это выглядит следующим образом:
И предложение сторона область становится активной. Если я автоматизирован этот процесс с селеном, кода выглядеть следующим образом:
driver = webdriver.Firefox()
driver.get("https://www.dukascopy.com/swiss/english/marketwatch/historical/")
# wait for the frame to load and switch
wait = WebDriverWait(driver, 20)
iframe = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".mainContentBody iframe")))
driver.switch_to.frame(iframe)
for pair in ["USDCAD"]:
css_selector = "ul > li[data-group][data-instrument='{}/{}']".format(pair[:3], pair[3:])
li_item = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, css_selector)))
li_item.click()
# Set the two options about candlestick
candle_unit_menu_ele = driver.find_element_by_id(":i")
candle_unit_menu_ele.click()
candle_unit_ele = wait.until(EC.visibility_of_element_located((By.ID, ":3"))
candle_unit_ele.click()
Однако после выполнения этого сценария, вы найдете выбрана кнопка USD/CAD, в то время как блок свечи не установлен в час, а также не сторона предложения раздел становится доступным. Изображение:
Я задаюсь вопросом, почему это происходит и как иметь ожидаемый результат.
Большое спасибо!
что делает блок установлен? –
Должен быть установлен в час @YuZhang –
Какая версия Selenium и Firefox включена? Я нахожусь на Firefox 45.2 и Selenium 2.52. Когда я запускал ваш код, он работает. – aneroid