Python爬虫利器之selenium常用操作
来源:互联网 发布:网络用语dc是什么意思 编辑:程序博客网 时间:2024/05/14 15:24
自动化测试selenium最核心的是元素的定位,通常一个元素会有多种属性,我们需要通过属性定位到元素,继而获取元素的值。
单个元素定位八种方式
//通过id方式定位find_elements_by_id("元素id名")//通过name方式定位find_elements_by_name("元素name名")//通过tag name方式定位find_elements_by_tag_name("元素tag name名")//通过class name方式定位find_elements_by_class_name("元素class name名")//通过xpath方式定位find_elements_by_xpath("copy xpath")//通过CSS方式定位(定位的选择器,不太懂,还没用过)find_elements_by_css_selector("#kw")//通过link定位(常用点击事件"下一页")find_elements_by_link_text("文字")//通过Partial link text定位(部分连接,通过“文”字也能找到"文字"的链接)find_elements_by_partial_link_text("文")
多个元素定位八种方式
- id
- name
- tag name
- class name
- xpath
- css selector
- link text
- partial link text
//通过id方式定位find_element_by_id("元素id名")//通过name方式定位find_element_by_name("元素name名")//通过tag name方式定位find_element_by_tag_name("元素tag name名")//通过class name方式定位find_element_by_class_name("元素class name名")//通过xpath方式定位find_element_by_xpath("copy xpath")//通过CSS方式定位(定位的选择器,不太懂,还没用过)find_element_by_css_selector("#kw")//通过link定位(常用点击事件"下一页")find_element_by_link_text("文字")//通过Partial link text定位(部分连接,通过“文”字也能找到"文字"的链接)find_element_by_partial_link_text("文")
多层框架/窗口定位
- switch_to_frame()
- switch_to_window()
例如f1.html框架中嵌套f2.html
#f1的id=f1 ,f2的id=f2#先找到f1,driver.switch_to_frame("f1")#在找到f2driver.switch_to_frame("f2")#之后就可以正常操作元素了
操作定位元素
- click() 用于点击一个按钮
send_keys(“xx”) 用于输入框里输入内容或者按键操作
- send_keys(Keys.TAB) #TAB
- send_keys(Keys.ENTER) #回车
- send_keys(“selenium”) #输入框输入内容
- send_keys(Keys.CONTROL,’a’) #ctrl+a全选输入框内容
- send_keys(Keys.CONTROL,’x’) #ctrl+x剪切输入框内容
- clear() 用于清除输入框的内容
- submit() 用于提交表单
使用send_keys()调用按键需要导入包
from selenium.webdriver.common.keys import Keys
鼠标事件
- 鼠标点击
先要导入ActionChains包
from selenium.webdriver.common.action_chains import ActionChains #导入包s = driver.find_element_by_xpath("ss") #定位元素的原位置ActionChains(driver).context_click(s).perform() #右击操作ActionChains(driver).double_click(s).perform() #双击操作
- 鼠标拖放
source = driver.find_element_by_name("source") #定位元素的原位置target = driver.find_element_by_name("target")#定位元素要移动的位置ActionChains(driver).drag_and_drop(source,target).perform() #执行元素移动操作
添加等待时间
作用:保证脚本运行的稳定性。
import time #导入time函数time.sleep(3) #休眠3秒 只能选择固定的时间等待browser.implicitly_wait(3)#智能等待30秒
获取访问页面的信息
driver.title浏览器操作
将浏览器最大化
browser.maximize_window()设置浏览器宽300,高200
browser.set_window_size(300,200)
阅读全文
0 0
- Python爬虫利器之selenium常用操作
- Python爬虫利器之Selenium的用法
- Python爬虫利器之selenium的安装
- Python爬虫利器之selenium有无界面
- Python爬虫利器五之Selenium的用法
- Python爬虫利器五之Selenium的用法
- Python爬虫利器五之Selenium的用法
- Python爬虫利器五之Selenium的用法
- Python爬虫利器Selenium+PhantomJS系列入门
- Python爬虫之selenium
- PYthon Selenium 爬虫 操作浏览器
- 爬虫利器:Selenium+PhantomJS
- Python爬虫工具之Selenium
- Python爬虫小结之Selenium
- Python爬虫利器之PyQuery的用法
- Python爬虫利器之PhantomJS的用法
- Python爬虫之Selenium+PhantomJS组合
- Python爬虫学习之Selenium详解
- 手机变成万能红外遥控器,自己动手制作教程
- 俞润东做人做事十六字箴言
- python学习笔记(四):核心模块方法
- c语言 stdlib库函数
- Android 开源网络框架(Android-Async-Http、Volley、OkHttp3、Retrofit2.0)对比
- Python爬虫利器之selenium常用操作
- hadoop2.8.2HDFS架构
- Glide-指定占位图、图片格式、图片大小(二)
- 虚线设置
- Android APP的系统签名
- java视频压缩
- Qt HTTP POST json 访问服务器
- 干货 | Apache Spark三大API:RDD、DataFrame和Dataset,我该如何选择
- java 中如何将string转换成uuid