繁体   English   中英

CME的Webscrape表,包括从下拉菜单中选择所需表的信息

Webscrape table from CME, including selection of desired table from drop down menu

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

下面的代码有效。 它返回默认加载表中的数据(利用此处提供的答案: link ,但如何访问其他表(可通过单击“合同”按钮并从菜单中选择其他合同,例如3月找到)。 2019)?

driver.get("http://www.cmegroup.com/tools-information/quikstrike/treasury-analytics.html")
# Need to include some more time here for data in iframe to load?
driver.implicitly_wait(3)
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
soup = BeautifulSoup(driver.page_source, 'html.parser')
CMEtreasuryAnalytics._table = soup.select('table.grid')[0]

我尝试了此操作,但返回了以下错误: NoSuchFrameException:消息:没有这样的框架:元素不是框架

driver.get("http://www.cmegroup.com/tools-nformation/quikstrike/treasury-analytics.html")
cDate = 'Dec 2018'
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
elements = driver.find_elements_by_class_name("square-corners ")
options = [element.get_attribute("innerText") for element in elements] 
if cDate in options:
    element = elements[options.index(cDate)] 
else:
    pass
driver.switch_to.frame(element)

我也尝试过'click()',但也无法使其正常工作。 我是硒新手,不胜感激关于如何访问所述数据的一些建议。 我正在使用python和chrome webdriver。

1 个回复

好。 我想我已经解决了。 菜单位于iFrame中,因此在获取元素详细信息之后,需要先单击()菜单,然后单击element.click(),然后抓取显示的数据。 最终代码如下,但是我不知道这是否是最直接的方法。

driver.get("http://www.cmegroup.com/tools-nformation/quikstrike/treasury-analytics.html")
cDate = 'Jun 2019'
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
elements = driver.find_elements_by_class_name("square-corners ")
options = [element.get_attribute("innerText") for element in elements] 
if cDate in options:
    element = elements[options.index(cDate)] 
else:
    pass            
# Click the dropdown menu labelled 'Contracts'
driver.find_element_by_xpath('//*[@id="ctl00_MainContent_ucViewControl_IntegratedStrikeAsYield_ucContractPicker_ucTrigger_lnkTrigger"]').click()
driver.implicitly_wait(1) 
element.click()
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
soup = BeautifulSoup(driver.page_source, 'html.parser')
CMEtreasuryAnalytics._table = soup.select('table.grid')[0]

更新:上面的工作了一段时间,但随后失败并显示以下消息。 因此,也许这是正确的选择,但我需要更好的方法从标记为“合同”的下拉列表中选择一个选项。 怎么做? 消息:未知错误:元素在点(511,475)处不可单击。 其他元素将获得点击:

1 下拉菜单中的数据透视表计数

我有一个包含多个数据验证列表的工作表。 我想创建一个数据透视表,在其中可以显示仅反映列表中某些选择的计数。 在提供的屏幕快照中,列B和C是数据验证下拉列表。 我想要一个只计算每个销售代表缺席的数据透视表,这可能吗? 例子 ...

3 将表格中的数据显示到下拉菜单中

我有2张桌子 domains_info和tb2 我的表格运作良好,并将资料输入数据库 这是我页面的顶部 这是表格 我试图像这样更改页面的顶部 并以此更新我的表格 如您所知,我对此非常陌生,无法正常工作。 抱歉,我没有解释我要实现的目标,我试 ...

4 在下拉列表中的选择中在表中显示计算值

因此,运行失败...用户在文本字段中输入引号。 然后,他们从下拉列表中选择一个选项,然后按“计算风险”按钮。 然后,这将输出到其页面上的表格单元。 这是我的HTML: 选择提交并输出良好后,地址栏保留q =“ QUOTE”和term =“ SELECTED VALUE”。 尽管这 ...

6 php表显示来自mysql下拉选择的数据

只是我有两个表:Course_table和Major_table,它们都有关系实体。 我创建了一个下拉列表,并将其链接到Major_table,一个html表将其链接到Course_table。 我想做的是根据下拉列表中的选择在Course_table上显示数据,但是当我选择某项并按“ Fi ...

7 如何从下拉列表选择中检索数据到表?

我正在尝试学习编程方法,这是我的第一个项目。 我知道我应该阅读这些教程,但我仍然坚持使用它。 我真的很想独自完成它,但是它变得令人沮丧。.有人至少可以指导我正确的方向吗? 那么,如何根据下拉列表选择将数据回显到表格单元格? 任何帮助,不胜感激。 到目前为止的代码: http : //j ...

2013-06-20 16:19:54 1 8807   php/ mysql
8 根据动态下拉列表中的选择生成表格?

因此,我目前正在学习ASP.NET,实际上今天是我的第二天。 因此,现在我要创建一个页面,在该页面上首先有一个动态生成的下拉列表,该下拉列表仅从数据库和表中选择名字。 这个我有工作 接下来,我有一个gridview表,该表显示数据库中的所有数据,当前我已经硬编码了一个名称,因此该页 ...

9 从菜单中下拉空选择

我使用JavaScript应用程序,并使用JSON列表填充下拉菜单。 用户界面看起来像这样, 如果选择空白项(如图所示),则希望在控制台中打印empty 。 否则,我要打印地址值。 我的意图是编写更多代码,但是,这是我想要开始的地方。 我有的代码 但是,它仅在控 ...

10 在下拉菜单中选择否启用文本框

我有一个下拉菜单,其中有三个选项,是,否和以后。当我选择否选项时,文本框必须启用以前被禁用的。所以请帮我一些JavaScript脚本并向我说明如何从形成。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM