Selenium笔记

Selenium基础笔记
在这里插入图片描述

浏览器属性操作
driver.maximize_window()
全屏显示
driver.set_window_size(width,height)
设置尺寸
driver.get_window_size()
获取浏览器窗口大小,默认为当前窗口
driver.get_window_position()
获取浏览器所在的坐标位置,根据屏幕的边界来
driver.set_window_position(x=100,y=100)
设置浏览器坐标位置,x y轴

API基础操作
driver.forward()
向前
driver.back()
后退
driver.refresh()
刷新
driver.current_url
获取当前页面的url
driver.page_source
获取页面html源码
driver.get_screenshot_as_file(‘file_name’)
截取页面图片,输入路径和图片名进行保存

定位元素的八种方式
driver.find_element_by_id()
根据元素ID进行定位
driver.find_element_by_name
根据元素name属性进行定位
driver.find_element_by_class_name()
根据元素class属性定位
需要class唯一
driver.find_element_by_tag_name()
根据标签名定位
driver.find_element_by_link_text()
根据链接文本定位
需要该文本是链接文本,可点击
driver.find_element_by_partail_link_text()
部分链接文本定位
driver.find_element_by_xpath()
xpath定位
driver.find_element_by_css_selector()
css定位

定位一组元素
driver.find_elements_by_xpath()
driver.find_element_by_css_selector()
和定位元素方式一样,但是可以根据元素中相同的属性或者路径定位多个元素,最终返回的结果是列表的形式

元素操作
el().click()
点击该元素
el().summit()
提交
作用和点击类似,但是点击的使用面更广
el().text
获取该元素的文本信息
el().get_attribute(‘name’)
获取元素对应的属性名的value值
el().size
获取该元素的尺寸
el().is_display
该元素是否显示,返回布尔值

表单操作
frame = driver.find_element_by_id()
driver.switch_to.frame(frame)
driver.switch_to.frame(‘frame_id’)
#2.可以直接根据表单的ID值进行切换
driver.switch_to.default_content()
从表单中返回到最外层页面
可适用于进入了多层表单后直接返回默认状态
driver.switch_to.partent_frame()
跳回上层的页面
#1.先定位到表单元素然后再进行表单的切换

鼠标键盘操作
鼠标
from selenium.webdriver import ActionChains
导入操作鼠标的类
mouse = ActionChains(driver)
初始化对象
mouse.context_click(‘元素’).perform()
右击定位到的元素
perform()执行保存的操作
mouse.move_to_element(‘元素’).perform()
移动到某个元素的位置
其他操作可百度查看
键盘
from selenium.webdriver.common.keys import Keys
导入操作键盘的类
driver.find_element_by_id(‘kw’).send_keys(Keys.CONTROL,“a”)
定位到输入框,然后可以根据按键输入对应的操作,这个是全选操作
driver.find_element_by_id(‘kw’).send_keys(Keys.BACK_SPACE)
退格操作,删除一个字符

警告窗操作
driver.switch_to.alert.accept()
切换到警告弹窗,并且点击确定
driver.switch_to.alert.dismiss()
切换到警告弹窗,并且解散弹窗
driver.switch_to.alert.send_keys(‘value’)
切换到警告弹窗,并且输入内容返回

下拉框
from selenium.webdriver.support.select import Select
导入选择类
需要元素为select元素才可以使用
el = driver.find_element_by_id()
先定位到select标签
selobj = Select(el)
初始化对象
selobj.select_by_index()
根据索引来获取选项
selobj.select_by_value()
根据元素的option值来获取选项
selobj.select_by_visible_text()
根据可视化文本来获取选项
selobj.first_selected_option.text
打印第一个选项

JS语句执行
下拉滚动条
js = “window.scrollTo(x,y)”
滚动窗口到对指定的x,y位置
js1 = “var q=document.documentElement.scrollTop=0”
滚动到顶部,n为从顶部往下移动滚动的举例
driver.execute_scrpit(js)
执行js语句
操作cookie
获取cookie
driver.get_cookies()
删除所有cookies
driver.delete_all_cookies()
设置cookies
driver.set_cookies({里面传入字典})
等待
显示等待
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
导包
WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.ID,“kw”)))
每0.5秒查找一次元素,直到超过10秒后就会报错
隐式等待
driver.implicitly_wait(n)
n设置时间,超过时间仍然没加载完页面就报错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值