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 By

wd = 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 time

while True:
    try:
        element=wd.find_element(By.ID,'1')
        print(element.txt)
        break
    except:
        time.sleep(1)

wd.quit()

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

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

wd.implicitly_wait(10)

最后

from selenium import webdriver
from selenium.webdriver.common.by import By

wd = 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.mfbz.cn/a/796729.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32智能空气质量监测系统教程

目录 引言环境准备智能空气质量监测系统基础代码实现:实现智能空气质量监测系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:空气质量监测与优化问题解决方案与优化收尾与总结 1. 引言 智能空…

UCSD和MIT的华人学者最新成果展示:沉浸式远程遥操作机器人

你是否曾想过,自己身处某地,可以控制几千公里以外的「机器人」本体?这个想法,最近被来自UCSD和MIT的华人学者们实现了。UCSD位于加利福尼亚州,MIT位于马萨诸塞州,这两地之差,约3000英里&#xf…

线性回归(梯度下降)

首先说案例: 房子的价格和所占面积有着很大的关系,假如现在有一些关于房子面积和价格的数据,我要如何根据已经有的数据来判断未知的数据呢? 假如x(房屋面积),y(房屋价格) x[ 56 72 69 88 102 86 76 79 94 74] y[92, …

MySQL 锁分类

MySQL 锁分类 在 MySQL 中,为了保证并发性能和数据安全,有多种锁机制。我们常见的有表级锁和行级锁。让我们一起来学习 MySQL 中各种锁的知识。 表级锁 表级锁是对整张表进行锁定。 表数据锁 1. 读锁 允许多个会话同时读取同一张表的数据&#xff…

大模型时代的目标检测

https://zhuanlan.zhihu.com/p/663703934https://zhuanlan.zhihu.com/p/6637039341.open set/open word/ood 这个任务是指在实际应用上可以检测任何前景物体,但是有些不需要预测类别,只要检测出框就行。在很多场合也有应用场景,有点像类无关…

HyperSD - 会画草图就能玩AI绘画,AI一键手绘,实时同步 本地一键整合包下载

字节跳动的Lightning团队发布的新图像模型蒸馏算法Hyper-SD,是一项在图像处理和机器学习领域的重要进展。这项技术通过创新的方法提升了模型在不同推理步骤下的性能,同时保持了模型大小的精简。 基于这个算法模型,一个很实用的功能出现了&am…

知识图谱入门笔记

自学参考: 视频:斯坦福CS520 | 知识图谱 最全知识图谱综述 详解知识图谱的构建全流程 知识图谱构建(概念,工具,实例调研) 一、基本概念 知识图谱(Knowledge graph):由结…

本地部署,MODNet 背景去除大模型

目录 摘要 引言 MODNet 架构 关键组件 技术原理 本地部署 运行结果 结论 GitHub - ZHKKKe/MODNet: A Trimap-Free Portrait Matting Solution in Real Time [AAAI 2022]A Trimap-Free Portrait Matting Solution in Real Time [AAAI 2022] - ZHKKKe/MODNethttps://gith…

【Linux】软件管理工具 yum

文章目录 概念搜索:yum list安装:yum install卸载:yum remove 概念 在Linux下安装软件,可以下载到程序的源代码,进行编译得到可执行程序,另外这些软件还有依赖其它工具的问题,还得下载编译这些依…

鸿蒙小练习

bean对象 export class BannerImage{id:numberurl:stringtargetUrl:stringproductId:numberconstructor(id: number, url: string, targetUrl: string, productId: number) {this.id idthis.url urlthis.targetUrl targetUrlthis.productId productId} }export class d…

嵌入式应用开发之模块驱动移植教程

前言:本篇主要面向小白的小伙伴,提供一些基础的模块移植教程,不涉及预处理指令类的移植教程。 #为什么要移植驱动 这个问题,可以来说是显而易见的,在标准库的开发过程中,如果重新写一个模块的驱动,从串行通…

Autosar Dcm配置-0x28服务ComControl-基于ETAS软件

文章目录 前言DcmDcmDsdDcmDspBswMBswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMActionBswMActionListBswMRule总结前言 0x28服务主要用来控制非诊断报文的通讯,一般在刷写预编程过程中,用来禁止APP的通信报文,可以减少总线负载率,提高刷写成功率。本文…

【Orange Pi AI Pro】开箱体验完,发现是真的强!!!

最近香橙派联合华为出了一款新的AI开发板——Orange Pi AI Pro,关键是搭载了昇腾AI处理器提供了8TOPS INT8的算力,作为一个嵌入式的CSDN博主,当然得体验一下这款新产品。 文章目录 1 开箱2 硬件介绍2.1 开发板硬件详情:2.2 顶层视…

分享浏览器被hao123网页劫持,去除劫持的方式

昨天看python相关的自动化工作代码时,发现谷歌浏览器被hao123劫持了,把那些程序删了也不管用 方法1:删除hao123注册表,这个方式不太好用,会找不到注册表 方法2:看浏览器快捷方式的属性页面,一…

keil5新建stm32工程的基本

1、建立工程文件夹,keil中新建工程,选择型号; 2、工程文件夹里建立自己所需要的文件夹等,复制固件库里面的文件到工程文件夹里; 3、将工程里建立对应的同名的分组,并将文件夹内的文件添加到工程分组中。 点…

MQTT——Mosquitto使用(Linux订阅者+Win发布者)

前提:WSL(Ubuntu22)作为订阅者,本机Win10作为发布者。 1、Linux安装Mosquitto 命令行安装。 sudo apt-get install mosquitto 以上默认只安装了mosquitto的服务,不带测试客户端工具mosquitto_sub和mosquitto_pub。如…

IC5000_IC5700 License激活步骤

文章目录 前言连接硬件License RequestLicense Progam 前言 用过的调试器除了Lauterbach之外,iSystem的应该是比较好用的,比Lauterbach也便宜一些。本文介绍IC5000的License激活说明,前提是正版采购了IC5000及对应的license 连接硬件 电源…

鸿蒙瀑布流和欢迎页(1)

1.瀑布流 https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-waterflow.md他有官网文档,有个瀑布流的案例 自定义一类实现官方瀑布流接口 // WaterFlowDataSource.ets// 实现IDataSource接口的…

开源项目:机遇与挑战共存的创新之路

开源项目:机遇与挑战共存的创新之路 开源(Open Source,开放源码)被非盈利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以…

安全防御---防火墙实验1

安全防御—防火墙实验1 一、实验拓扑与要求 要求: 1、DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问 2、生产区不允许访问互联网,办公区和游客区允许访问互联网 …