随笔分类 -  Selenium

Selenium-窗口切换
摘要:在脚本运行中打开新的窗口之后,如果接下来不切换到新的窗口的话,代码仍然会在原窗口运行,这时候我们需要首先切换到新打开的窗口才能进行后面的操作。 代码如下: 1 # 找出新窗口: 2 new_window = driver.window_handles[-1] # '-1'代表打开的最后一个窗口 3 阅读全文
posted @ 2022-01-09 16:24 夜*星 阅读(99) 评论(0) 推荐(0)
Selenium-css_selector详解
摘要:css_selector作为我们比较常用的一种元素定位方法,总结了以下一些方法和要点: 1. 右键直接copy css_selector的方法 2. 如果元素某个属性是唯一的——那么直接在该属性两边加上中括号,就可以定位该元素。 例:<input value="1"> 应用: driver.find 阅读全文
posted @ 2022-01-09 07:43 夜*星 阅读(509) 评论(0) 推荐(0)
Selenium-如何上传文件
摘要:在前端点击的按钮,会跳出让我们去选择文件的框,这个弹出框Selenium是无法识别的,所以它不是真正负责上传文件的控件。 真正负责上传文件的控件应该是:, 我们需要做的就是定位到这个真正的控件,然后对其send_keys,发送文件的路径即可。 阅读全文
posted @ 2022-01-09 06:47 夜*星 阅读(221) 评论(0) 推荐(0)
Selenium-ActionChains元素高级操作
摘要:Selenium中所有高级操作都被封装在ActionChains这个类中,所以当我们想进行双击,右键点击等等之类的操作的时候,就需要用到ActionChains. 当调用ActionChains时,赋予的动作不会立即执行,而是会将所有的操作按顺序存放在一个队列里,只有当调用perform()方法时, 阅读全文
posted @ 2022-01-09 04:56 夜*星 阅读(167) 评论(0) 推荐(0)
Selenium-网页存在子frame如何定位元素
摘要:当我们在定位元素的时候,明明这个元素的属性是唯一的,固定的,但是Selenium就是定位不到这个元素,这个时候,我们就要去考虑一下这个页面是不是存在子frame? 阅读全文
posted @ 2022-01-09 03:35 夜*星 阅读(149) 评论(0) 推荐(0)
强制等待,隐式等待和显式等待的区别
摘要:强制等待: time.sleep(3) 在需要等待的操作之前加上等待时间time.sleep(3)强制等待固定时间3s。 隐式等待: driver.implicitly_wait(5) 隐式等待是一种智能等待,可以自动判断需要等待多久,括号中的5代表的是最大等待时间 隐式等待只需要在声明driver 阅读全文
posted @ 2022-01-04 02:13 夜*星 阅读(334) 评论(0) 推荐(0)
find_element和find_elements的区别
摘要:find_elements: 找到所有满足条件的页面元素。 通过下标来选择第几个。 经常用来组合className或者tagname使用。 使用方法和find_element一样。 find_element: 找到满足条件的第一个页面元素。 所以driver.find_elements(...)[0 阅读全文
posted @ 2022-01-04 01:21 夜*星 阅读(382) 评论(0) 推荐(0)
Selenium-Select类型的下拉框定位方法
摘要:对于select类型的下拉框,可以调用select类的select方法去定位: 定位到要选择的下拉框 element = driver.find_element(...) 把找到的页面元素,转换成下拉框的类型Select:select = Select(element) 调用Select类中的sel 阅读全文
posted @ 2022-01-04 00:15 夜*星 阅读(511) 评论(0) 推荐(0)
Selenium-Alert弹出框常用处理办法
摘要:Alert弹出框由于不是html的页面元素,而是JavaScript的控件,所以不能右键检查,用传统的方法去操作。 Selenium提供了三个常用处理alert的方法: 点击确定按钮: driver.switch_to.alert.accept() 点击取消按钮: driver.switch_to. 阅读全文
posted @ 2022-01-03 21:40 夜*星 阅读(361) 评论(0) 推荐(0)
Selenium-日历控件-删除readonly方法
摘要:使用Selenium在面对日历控件的时候,如果通过一个个元素去点击的话,无疑是很繁琐的。而大部分日历控件虽然是input输入框,但是一般都会有一个readonly属性,Selenium无法删除一个元素的属性,但是JavaScript可以,这时候就可以通过js来删除readonly属性,然后再去输入。 阅读全文
posted @ 2022-01-03 17:09 夜*星 阅读(230) 评论(0) 推荐(0)
Selenium-submit方法运用
摘要:在表单中如果提交按钮难以定位去点击,可以通过submit方法来提交表单中任一元素即可完成提交。 阅读全文
posted @ 2022-01-03 15:43 夜*星 阅读(380) 评论(0) 推荐(0)
Selenium-新八大元素定位方法(By)
摘要:看视频的时候发现好多视频使用的还是老版的元素定位方法,但是对于新版Python来说,已经弃用了之前的元素定位方法,所以在使用的时候会发现有报错,会被一条横线划掉。重新整理了一下目前使用的元素定位方法:driver.find_element(By.'方式', "xxx") 需要导入By包: from 阅读全文
posted @ 2021-12-30 01:17 夜*星 阅读(740) 评论(0) 推荐(0)
Pyhton-Selemium环境搭建
摘要:记录一下小白学习Python-Selenium环境搭建(以Chrome浏览器为例)的步骤: Python-Selenium环境配置-基于Chrome浏览器: 安装Python sdk: 打开Python官网Welcome to Python.org,点击Download,下载最新版本的Python, 阅读全文
posted @ 2021-12-27 00:00 夜*星 阅读(81) 评论(0) 推荐(0)