import time

from selenium.webdriver import Edge
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys # 键盘输入 # 1.创建浏览器对象
web = Edge()
# 2.打开一个网址
web.get("https://lagou.com") # 找到某个元素,点击它
el = web.find_element(By.XPATH, '//*[@id="changeCityBox"]/ul/li[1]/a')
el.click() # 点击事件 time.sleep(1) # 让浏览器缓一会,等他加载出来
# 巨坑:selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
# 字面上的意思是,引用的元素已过时。原因是页面刷新了,此时当然找不到之前页面的元素,就算是后退回来的页面也是不一样的。
# 也就是太快了,还没响应回来就去找就会导致上面的报错,所以要等一下 # 找到输入框 输入python 输入回车/点击搜索按钮
web.find_element(By.XPATH, '//*[@id="search_input"]').send_keys('python', Keys.ENTER) time.sleep(1) # 让浏览器缓一会,等他加载出来
# 找到页面中所有的div,查找存放数据的位置,进行数据提取
# find_elements加了个s 提取多个
div_list = web.find_elements(By.XPATH, '//*[@class="list__YibNq"]/div') for div in div_list:
job_name = div.find_element(By.XPATH, './/*[@id="openWinPostion"]').text
job_wages = div.find_element(By.XPATH, './/*[@class="money__3Lkgq"]').text
print(job_name, job_wages)

selenium的各种操作的更多相关文章

  1. selenium + python(鼠标操作)

    关于最近学习selenium自动化测试鼠标操作的一些总结 常见的鼠标操作

  2. selenium鼠标悬停操作

    有些网页一打开会有一个弹窗,弹窗不消失无法进行取元素操作,只有把鼠标悬停在上面弹窗才会消失,这时就用到了selenium的悬停操作 鼠标悬停  move_to_element() 定位到要悬停的元素 ...

  3. selenium窗口截图操作

    selenium窗口截图操作 使用背景:在自动化测试过程中,可能遇到执行错误情况,那么怎么样及时捕获出错信息/界面? 可以使用  get_screenshot_as_file(self,filenam ...

  4. selenium控制浏览器操作

    selenium控制浏览器操作 控制浏览器有哪些操作? 控制页面大小 前进.后退 刷新 自动输入.提交 ........  控制页面大小,实例: # -*- coding:utf-8 -*- from ...

  5. Selenium Web元素操作

    我们定位到Web页面元素之后,可以对元素进行一系列的操作,实现跟页面的交互.包括点击.文本输入.元素属性获取等.常用的方法列举如下: 方法 描述 click() 点击元素 send_keys(**va ...

  6. 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)

    1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...

  7. 《手把手教你》系列技巧篇(五十一)-java+ selenium自动化测试-字符串操作-下篇(详解教程)

    1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...

  8. java selenium (十二) 操作弹出窗口

    selenium 中如何处理弹出窗口 阅读目录 原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles ...

  9. selenium webdriver(3)---操作页面对象

    页面对象的相关操作可以通过接口文件org.openqa.selenium.WebElement查看,本文只是对象接口的使用方式,具体的实现方式在org.openqa.selenium.remote.R ...

  10. python3 selenium 鼠标悬停操作

    使用场景: 测试过程中有些元素隐藏在某些元素下面,需要鼠标悬停,才会看到 使用方法: # 定位元素hover_element = driver.find_element_by_css_selector ...

随机推荐

  1. 算法~利用zset实现滑动窗口限流

    滑动窗口限流 滑动窗口限流是一种常用的限流算法,通过维护一个固定大小的窗口,在单位时间内允许通过的请求次数不超过设定的阈值.具体来说,滑动窗口限流算法通常包括以下几个步骤: 初始化:设置窗口大小.请求 ...

  2. Gparted扩展硬盘空间

    需求:有一些磁盘占满了空间,例如/亦或者/opt目录等.可以通过Gparted扩展空间. 1.vmware添加ISO [添加光盘]gparted-live-cd添加至ISO 2.延迟引导启动,强制进入 ...

  3. 03.Java 基础语法

    1. 注释.标识符.关键字 三种注释 单行注释:// 多行注释:/* 多行注释 */ 文档注释: /** * @Description HelloWorld * @Author xxx */ 标识符 ...

  4. gorm使用小结

    增 db.Create(user) db.Save(user) 参数只能用**结构体指针****,因为要根据指针写入该条插入的数据, 所以user可以作为该条数据使用. 新增只能用结构体 save方法 ...

  5. NASM中的ALIGN ALIGNB SECTALIGN

    ALIGN与ALIGNB NASM中的ALIGN与ALIGNB是用来字节对齐的,它们接收2个参数,第一个参数是必须的,表示对齐的字节数(必须是2的幂),第二个参数是可选的,表示为了对齐而进行填充的内容 ...

  6. 怎么样给Oracle数据库中的表添加列?

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...

  7. apisix~自定义插件的部署

    参考 https://docs.api7.ai/apisix/how-to-guide/custom-plugins/create-plugin-in-lua https://apisix.apach ...

  8. Linux下mv和cp命令的区别

    1.功能上的区别 ​ mv:用户可以使用mv为文件或目录重命名或将文件由一个目录移入另一个目录中. ​ cp: cp的功能是将给出的文件或目录拷贝到另一文件或目录中. 2.inode上的区别(inod ...

  9. 解决 C# 连接oracle 读出中文乱码的问题

    一开始,我使用odbc连接oracle,发现中文变成了??,这种已经成了??的乱码是不能通过 Text.Encoding的方式来转码的. 1.我到处查资料,发现有说设置客户端 系统变量 把 远程服务器 ...

  10. 一个 .NET 开源的地图组件库 - Mapsui

    前言 今天大姚给大家分享一个.NET开源(MIT License).免费.同时支持多平台框架(MAUI.WPF.Avalonia.Uno.Blazor.WinUI.Eto..NET Android 和 ...