当前位置: 首页 > news >正文

练习用Jupyter使用selenium【疑问未解决版】

目录

  • 1、打开Jupyter后,检查是否安装了selenium
  • 2、根据提示重启内核
  • 3、【疑问1】我重启了内核之后还是提示这句话
  • 4、执行简单的打开网页的代码【结果又报错-疑问2】
  • 5、使用WebDriver对象选择元素的基本方法
    • (1)根据id找到元素,进行输入文本并回车的操作
    • (2)根据class定位元素,获取显示在界面上的text(文本)内容
    • (3)根据标签(tag)名定位元素
  • 6、使用WebElement对象选择元素的基本方法

1、打开Jupyter后,检查是否安装了selenium

命令:

pip show selenium

结果:
在这里插入图片描述
【在 Jupyter Notebook 中,当你安装或更新了某些 Python 包后,系统会提示你重启内核,这样新的包或更新后的包才能被正确加载并使用。】

2、根据提示重启内核

在这里插入图片描述

3、【疑问1】我重启了内核之后还是提示这句话

提示:Note: you may need to restart the kernel to use updated packages.
我:fine~~,你提示就提示吧,我能拿你怎么办呢!!!

4、执行简单的打开网页的代码【结果又报错-疑问2】

from selenium import webdriver
# from selenium.webdriver.edge.service import Service
# 创建一个WebDriver类型的实例对象,运行浏览器驱动,之后控制浏览器
# wd = webdriver.Edge(service = Service(r'D:\edgedriver_win64\msedgedriver.exe'))
wd = webdriver.Edge()
# 在浏览器中打开某网址页面
wd.get('https://www.baidu.com')

结果:edge浏览器成功打开了百度的网页,但是jupyter提示:

DevTools listening on ws://127.0.0.1:31061/devtools/browser/970d1937-368e-423a-bae8-af59c93a6da0
[6804:19916:0320/162225.845:ERROR:edge_qqbrowser_importer_utils_win.cc(158)] QQBrowser user data path not found.
[20628:17792:0320/162226.091:ERROR:ssl_client_socket_impl.cc(891)] handshake failed; returned -1, SSL error code 1, net_error -101
[20628:17792:0320/162226.150:ERROR:ssl_client_socket_impl.cc(891)] handshake failed; returned -1, SSL error code 1, net_error -101
[0x7FF8A495B840] ANOMALY: meaningless REX prefix used
[0x7FF8A4B5C590] ANOMALY: meaningless REX prefix used
[0x7FF8A4B5E810] ANOMALY: meaningless REX prefix used
[0x7FF8A495B840] ANOMALY: meaningless REX prefix used
[0x7FF8A4B5C590] ANOMALY: meaningless REX prefix used
[0x7FF8A4962E30] ANOMALY: meaningless REX prefix used
[0x7FF8A4B5E810] ANOMALY: meaningless REX prefix used
[0x7FF8A4962E30] ANOMALY: meaningless REX prefix used

【查了一圈也不是很懂为什么会这样,明明我的浏览器版本和驱动器版本已经一样了,show time~】
在这里插入图片描述
Edge浏览器驱动器下载地址:驱动器下载地址
在这里插入图片描述

5、使用WebDriver对象选择元素的基本方法

使用WebDriver对象,通过调用各种find函数,创建WebElement对象。

(1)根据id找到元素,进行输入文本并回车的操作

from selenium import webdriver
from selenium.webdriver.common.by import By
# from selenium.webdriver.edge.service import Service
# wd = webdriver.Edge(service = Service(r'D:\edgedriver_win64\msedgedriver.exe'))

# 创建一个WebDriver类型的实例对象,运行浏览器驱动,之后控制浏览器
wd = webdriver.Edge()
# 在浏览器中打开某网址页面
wd.get('https://www.baidu.com')

# 创建一个WebElement对象,定位web的某一元素,之后对这个元素进行操作
element = wd.find_element(By.ID,'kw')
# 输入文字并回车
element.send_keys('汪苏泷\n')

或者是:

from selenium import webdriver
from selenium.webdriver.common.by import By
# from selenium.webdriver.edge.service import Service
# wd = webdriver.Edge(service = Service(r'D:\edgedriver_win64\msedgedriver.exe'))

# 创建一个WebDriver类型的实例对象,运行浏览器驱动,之后控制浏览器
wd = webdriver.Edge()
# 在浏览器中打开某网址页面
wd.get('https://www.baidu.com')

# 创建一个WebElement对象,定位web的某一元素,之后对这个元素进行操作
element = wd.find_element(By.ID,'kw')
# 输入文字
element.send_keys('汪苏泷')
# 百度一下
element = wd.find_element(By.ID,'su')
element.click()

在这里插入图片描述
写在最后:
web自动化测试(使用selenium时),最重要也是最难的就是定位元素,定位到元素之后,就可以进行“获取元素的数据”、“输入数据”、“点击”等操作了。

(2)根据class定位元素,获取显示在界面上的text(文本)内容

from selenium import webdriver
from selenium.webdriver.common.by import By
# from selenium.webdriver.edge.service import Service
# wd = webdriver.Edge(service = Service(r'D:\edgedriver_win64\msedgedriver.exe'))

# 创建一个WebDriver类型的实例对象,运行浏览器驱动,之后控制浏览器
wd = webdriver

相关文章:

  • 关于TVS管漏电流的问题?
  • 计算机二级:函数基础题
  • WMS仓储管理系统架构介绍
  • 进制转换(R转十)(1290. 二进制转换十进制、1292. 十六进制转十进制、1291. 八进制转十进制、1405. 小丽找潜在的素数)
  • 基于深度学习的图像分割项目实践:从理论到应用
  • VBA-Excel
  • 自动化机器学习(TPOT优化临床试验数据)
  • springCloud集成tdengine(原生和mapper方式) 其二 原生篇
  • 阿里云对象存储教程
  • NGINX中的反向代理实践
  • 【C++】--- 类和对象(中)之日期类的实现
  • 遇见东方微笑·畅游如意甘肃——“天水文化旅游嘉年华”2025年春季文旅宣传推广活动侧记
  • RTX4090架构解析与性能实测
  • springboot 和springboot3-教程
  • 基于漂浮式海上风电场系统的浮式风力发电机matlab仿真
  • 蓝桥杯每日一题----一维差分
  • window10安装WSL2
  • Debezium + Kafka-connect 实现Postgre实时同步Hologres
  • 正则艺术:深入探讨高级语法——零宽断言与反向引用实战
  • 传统金融和分布式金融
  • 5月12日至13日北京禁飞“低慢小”航空器
  • 上海质子重离子医院二期项目启动,有望成为全世界最大粒子治疗中心
  • 王日春已任教育部社会科学司司长,此前系人教社总编辑
  • 民生访谈|摆摊设点、公园搭帐篷、行道树飘絮,管理难题怎么解?
  • 个人住房公积金贷款利率下调,100万元30年期贷款总利息将减少近5万元
  • 中国电信财务部总经理周响华调任华润集团总会计师