上海银行间同业拆借利率在运行过程中发现iframe标签已经不见:

查看元素发现ifram标签已经不见

# In[7]:browser.switch_to.frame('volume10BondDealQuotesEN')
data = browser.page_source
data

执行这个报错:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="volume10BondDealQuotesEN"]"}
(Session info: chrome=105.0.5195.127)

如何解决?注释掉browser.switch_to.frame这行代码

# In[7]:#browser.switch_to.frame('volume10BondDealQuotesEN')
data = browser.page_source
data

注释后发现获取table的出现问题了,经过debug修改成table[3]改为table[12],为什么是table[12],我用的是PyCharm开发工具debug查看table如下:

从这个里面去找

import pandas as pd
table = pd.read_html(data)  # table是一个列表,里面有该网页里的所有表格
df = table[12]df

运行结果是:

这里面有用的是第2、3、5列

import pandas as pd
table = pd.read_html(data)  # table是一个列表,里面有该网页里的所有表格
#df = table[3]
df = table[12]# 提取所需列,并修改列名
df = df[[1, 2, 4]]
df.columns = ['期限', 'Shibor(%)', '涨跌(BP)']M_1 = df[df['期限'] == '1M']['Shibor(%)']
M_3 = df[df['期限'] == '3M']['Shibor(%)']# 计算3M利率 - 1M利率
diff = float(M_3) - float(M_1)
diff = round(diff, 3)  # 保留3位小数diff

运行后结果是:

这里面的url_2代码注释掉:

from selenium import webdriver
import pandas as pd
browser = webdriver.Chrome()
url = 'http://www.shibor.org'
browser.get(url)# url_2 = 'http://www.shibor.org/shibor/web/html/shibor.html'  # 这个得访问过上面的网址,才能访问这个网站
# browser.get(url_2)data = browser.page_sourcetable = pd.read_html(data)  # table是一个列表,里面有该网页里的所有表格
df = table[12]# 修改列名
df = df[[1, 2, 4]]
df.columns = ['期限', 'Shibor(%)', '涨跌(BP)']M_1 = df[df['期限'] == '1M']['Shibor(%)']  # 变量命名不可以是1M
M_3 = df[df['期限'] == '3M']['Shibor(%)']# 计算3M利率 - 1M利率
diff = float(M_3) - float(M_1)
diff = round(diff, 3)  # 保留3位小数diff

最后这个地方,如果浏览器较新的话,browser.find_element_by_xpath这个地方会报错,要改成browser.find_element,如下:

# # 补充知识点:浏览器同级页面切换 - switch_to.window()函数讲解# In[27]:from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://www.baidu.com/s?rtt=1&tn=news&word=阿里巴巴'
browser.get(url)# 模拟点击第一条新闻链接,会新打开一个浏览器窗口展示该新闻详情 //*[@id="1"]/div/h3/a
#browser.find_element_by_xpath('//*[@id="1"]/div/h3/a').click()
browser.find_element(by=By.XPATH,value='//*[@id="1"]/div/h3/a').click()handles = browser.window_handles  # 获取当前浏览器的所有窗口句柄
browser.switch_to.window(handles[-1])  # 切换到最新打开的窗口data = browser.page_source  # 此时获取的网页源代码就是最新打开窗口的内容
data# In[29]:handles = browser.window_handles  # 获取当前浏览器的所有窗口句柄
browser.switch_to.window(handles[-1])  # 切换到最新打开的窗口data = browser.page_source
data

Python实战系列-上海银行间同业拆借利率最新报错解决方案相关推荐

  1. 银行间同业拆借利率有什么用?

    银行间同业拆借利率是银行间无担保短期借贷使用的利率,是金融机构确定资金成本的重要指标. 举个例子:A银行短期内急需用钱(借钱时间最长1年),需要向其他银行借钱,这时A银行借的钱需要承担的利息就是用银行 ...

  2. Python 实战系列-微信或网页远程控制电脑

    Python 实战系列-微信或网页远程控制电脑 本系列课程为Python实战系列课程:使用微信控制电脑,使用Python的Web框架Flask搭建网页, 并使用网页控制电脑:使用wxPython编写图 ...

  3. python中利用lxml模块解析xml文件报错XMLSyntaxError: Opening and ending tag mismatch

    今天在代码中第一次使用lxml解析xml文件时出错了, XMLSyntaxError: Opening and ending tag mismatch: keyEffectiveDate line 2 ...

  4. python打印汉字报错_python中文输出报错解决方案(实例教程)

    对于刚刚开始接触python这门语言的人来说,可能会对于如何使用这门语言来进行编程会存在有一定的疑惑.如何使用中文来进行程序的编写,会不会与英文的编写有不一样的地方?今天我们就来看一下在python中 ...

  5. selenium IE保护模式报错解决方案(使用python写注册表)

    selenium IE保护模式报错解决方案 JAVA:https://www.cnblogs.com/feifeidxl/p/4551363.html java的处理可以参考此博客,实践可行,使用的s ...

  6. Python实战系列-东方财富网显示研报报错最新解决方案

    最近在查东方财富网最新研报的时候,发现报错,第一怀疑就是html又变了,果然是的:https://so.eastmoney.com/Yanbao/s?keyword=%E5%AE%81%E5%BE%B ...

  7. python psutil库安装_安装psutil模块报错安装python-devel

    psutil/_psutil_linux.c:9:20: 错误:Python.h:没有那个文件或目录 In file included from psutil/_psutil_linux.c:19: ...

  8. Python: pycharm debug调试点击结束断点报错KeyboardInterrupt

    ​ 原因:pycharm版本的问题 mac:  MacBook Pro(13英寸,M2,2022年​) pycharm版本: python版本:python3.9 没有debug,代码可以正常运行 d ...

  9. python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案

    运行 pip install MySQL-Python 报错: 云服务器 Command python setup.py egg_info failed with error code 1 in 继续 ...

最新文章

  1. 一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?
  2. php数据库额外属性,PHP神秘的额外数据库插入
  3. hust1343(贪吃蛇模拟)
  4. 数据结构与算法————稀疏数组
  5. 【飞鸽传书】往往会说其应当具备可维护性
  6. 2.3绘制构造线与射线
  7. mysql外键约束脚本_使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)...
  8. linux虚拟机如何ping,linux虚拟机与真机互相ping的问题
  9. 兼具颜值与智慧 华为Mate 10 Pro体验图赏
  10. ThinkPad T470P拆机加固态硬盘 建兴 T11 plus
  11. 【脑电数据十折交叉验证】实现对数据自动划分训练集与测试集得出平均分类准确率
  12. 题目 2260: 求arccos值
  13. C#winform软件长时间运行后无响应问题解决
  14. Day01_01_Linux_Ubuntu教程之Linux系统简介
  15. twiproxy - 基于GTAP 0.4的twitter API proxy
  16. c++学习:多线程;顺序容器;智能指针
  17. elasticsearch定时删除过期索引index
  18. 深入理解Linux启动过程 0号进程,1号进程
  19. Apache服务器的安全性及实现
  20. chrom如何兼容本地file文件

热门文章

  1. 《消费者行为学》读书笔记 第一章 消费者行为学导论
  2. 内蒙古师范大学计算机科学技术学院分数线,2019内蒙古师范大学录取分数线及历年专业分数线统计表【文科 理科】...
  3. 【细聊】torch.nn.init 初始化
  4. 百度推广引流一个成本多少?百度推广怎么预估成本?
  5. (转)高并发高流量网站架构详解
  6. 微信小程序——条件渲染
  7. C语言10以内加法口诀表,10以内加减法口诀表可打印.doc
  8. Python云端系统开发——将Python数据分析代码发布到Django网站上
  9. Linux实现剪刀石头布游戏,Python剪刀石头布游戏
  10. JS逆向 | 某车帝登录参数逆向