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

Selenium使用注意事项:

find_element 和 find_elements 的区别

WebDriver和WebElement的区别

问题:

会遇到报错:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="1"]"}

NoSuchElementException 的意思就是在当前的网页上找不到该元素, 就是找不到id为1的元素。

分析原因:

可以用sleep等待时间来解决

from selenium import webdriver
from selenium.webdriver.common.by import Bywd = webdriver.Chrome()wd.get('https://www.byhy.net/_files/stock1.html')element.send_keys('通讯\n')element = wd.find_element(By.ID, 'go')
element.click()import timewhile True:try:element=wd.find_element(By.ID,'1')print(element.txt)breakexcept:time.sleep(1)wd.quit()

但是这样的解决方案存在问题:

Selenium的Webdriver对象有个方法叫 implicitly_wait ,可以称之为隐式等待 ,或者全局等待 。该方法接受一个参数, 用来指定最大等待时长。

wd.implicitly_wait(10)

最后

from selenium import webdriver
from selenium.webdriver.common.by import Bywd = webdriver.Chrome()
wd.implicitly_wait(10)wd.get('https://www.byhy.net/_files/stock1.html')element = wd.find_element(By.ID, 'kw')element.send_keys('通讯\n')# 返回页面 ID为1 的元素
element = wd.find_element(By.ID,'1')print(element.text)

iframe元素非常的特殊, 在html语法中,frame 元素 或者iframe元素的内部 会包含一个被嵌入的另一份html文档。导致如果直接读取.plant就没有办法读取到,就必须切换操作范围 到被嵌入的文档中,需要加入

http://www.lryc.cn/news/397023.html

相关文章:

  • 小程序需要进行软件测试吗?小程序测试有哪些测试内容?
  • 一文读懂企业租用GPU的注意事项!
  • Linux运维:mysql主从复制原理及实验
  • 022-GeoGebra中级篇-几何对象之直线与坐标轴
  • node js安装、配置(Windows版)
  • go语言day08 泛型 自定义错误处理 go关键字:协程
  • MySql性能调优01-[数据结构和索引]
  • 【算法入门-栈】逆波兰表达式求值
  • 【史上最全面ESP32教程】http通信
  • *算法训练(leetcode)第二十七天 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
  • OpenJudge 奇数求和
  • 【排序 - 快速排序】
  • pytest使用报错(以及解决pytest所谓的“抑制print输出”)
  • 开源项目编译harbor arm架构的包 —— 筑梦之路
  • [笔记] SKF Enveloping FAQ 用户指南
  • 宪法学学习笔记(个人向) Part.3
  • 联想拯救者Y7000 IRX9 笔记本接口功能介绍
  • 【ESP32】打造全网最强esp-idf基础教程——16.SmartConfig一键配网
  • MD5加密和注册页面的编写
  • 【Android组件】封装加载弹框
  • Spring源码二十:Bean实例化流程三
  • 前端导出文件时,后端代码出错如何将错误信息返回给前端展示
  • 解决Spring Boot应用中的内存优化问题
  • shark云原生-日志体系-filebeat高级配置(适用于生产)-更新中
  • 响应式设计的双璧:WebKit 支持 CSS Flexbox 和 Grid 布局深度解析
  • Linux软件包管理
  • 如何分辨AI生成的内容?AI生成内容检测工具对比实验
  • Clion中怎么切换不同的程序运行
  • 【C++初阶】C++入门(下)
  • 【3】迁移学习模型