欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

selenium常用API介绍

程序员文章站 2022-06-19 08:25:09
...

selenium常用API介绍

文本的清空与提交

br.find_element_by_id("xxx").clear()#清空文本
br.find_element_by_id("xxx").submit()#提交,当然也可以点击提交按钮提交

退出游览器

br.close()#关闭当前选项卡
br.quit()#退出整个游览器

获取页面标题和当前页面源码

#这两个都是属性
br.title
br.page_source

游览器窗口最大化

br.maximize_window()

刷新页面

br.refresh()

前进后退

br.back()
br.forward()

多窗口切换

1.通过循环切换

from selenium import webdriver
br = webdriver.Firefox()
br.get("https://www.baidu.com")
h = br.current_window_handle	#获取当前窗口句柄
for i in br.window_handles:
    if h!= i:
        br.switch_to.window(i)	#如果不是当前窗口,那么将焦点切换到新的窗口
...这里是切换窗口后在新窗口中做的操作
br.switch_to.window(h)	#切回原来的窗口
...

2.通过窗口句柄编号切换

from selenium import webdriver
br = webdriver.Firefox()
br.get("https://www.baidu.com")
h = br.window_handles[0]
new = br.window_handles[1]
br.switch_to.window(new)	#切换到新窗口
...操作新窗口
br.switch_to.window(h)		#切回到原窗口
...
#注意:window_handles返回的是一个窗口句柄的列表,这些窗口句柄都有它所对应的索引号(编号)
#第一个打开的窗口的索引号是0,最后一个打开的窗口的索引号是1,倒数第二个是2,倒数第三个是3
#依次类推
# 0 1
# 0 2 1
# 0 3 2 1
# ……

操作frame/iframe框架里面的元素

#要操作框架里的元素,需要首先切到框架所在的页面
#通过框架的id或name切换
br.switch_to.frame("if")	#这里id属性值为if
br.switch_to.frame("nf")	#这里name属性值为nf
#还可以使用xpath,css定位
e=br.find_element_by_xpath("//*[@id='if']")
br.switch_to.frame(e)

切出frame/iframe框架

br.switch_to.default_content()