【发布时间】:2016-07-09 09:36:22
【问题描述】:
我试图编写一个自动化脚本来下载一些带有硒的外汇美元/加元价格历史数据。这些数据可在
https://www.dukascopy.com/swiss/english/marketwatch/historical/
我要下载的数据选择烛台选项,1小时,手动选择“勾选”按钮并选择“小时”后,如下所示:
offer side 区域变得可点击。如果我用 selenium 自动化这个过程,代码看起来像:
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()
但是,执行此脚本后,您会发现美元/加元按钮被选中,而蜡烛单位未设置为小时,报价方部分也不可用。图片:
我想知道为什么会发生这种情况以及如何获得预期的结果。
非常感谢!
【问题讨论】:
-
单位设置为什么?
-
应该设置为小时@YuZhang
-
您使用的是哪个版本的 Selenium 和 Firefox?我在 Firefox 45.2 和 Selenium 2.52 上。当我运行你的代码时,它可以工作。
-
Firefox 版本为 47.0.1,selenium 版本为 2.53.6。
标签: python selenium web-crawler