web元素其他常用操作
常用操作:
- 获取当前窗口title:driver.title
- 获取当前窗口url:driver.current_url
- 关闭当前窗口:driver.close()
- 关闭整个浏览器:driver.quit()
- 获取窗口大小:driver.get_window_size()
- 设置窗口大小: driver.set_window_size(200,300) #参数分别是宽 高 单位是像素
- 执行js代码:driver.execute_script(‘js代码’)
截屏操作:
driver.get_screenshot_as_file(‘图片地址+图片名称+后缀’)
driver.get_screenshot_as_png()
切换iframe
driver.switch_to.frame(’’)
driver.switch_to.parent_frame()
windows间切换
#获取当前窗口并保存
current_handle = driver.current_window_handle
#获取所有的窗口:
all_handles = driver.window_handles
#遍历所有的窗口,根据需要进行一些操作
for handle in dall_handles :
driver.switch_to.window(handle)
if 'xxx' in driver.title:
pass
#切换回原来的窗口
driver.switch_to.window(current_handle)
鼠标悬停操作
from selenium.webdriver import ActionChains
element = driver.find_element_by_id('')
#悬浮操作
ActionChains(driver).move_to_element(element).perform()
#拖拽操作
ActionChains(driver).drag_and_drop(element).perform()
#双击操作
ActionChains(driver).double_click(element).perform()
#右击操作
ActionChains(driver).context_click(element).perform()
alert的一些操作
#输入内容:
driver.switch_to.alert.send_keys('')
#获取文本内容
driver.switch_to.alert.text()
#点击取消
driver.switch_to.alert.dismiss()
#点击ok
driver.switch_to.alert.accept()
其他:
element = driver.find_element_by_id('xxx')
#获取指定属性的值
element.get_attribute('xxx')
#获取元素html源码
element.get_attribute('innerHTML') #内部
element.get_attribute('outerHTML') #外部
举例:区分innerHTML和outerHTML
<h1 id='a'>
<div>我是div</div>
<p>我是p</div>
</h1>
如果获取的元素是h1
内部(innerHTML)就是:
<div>我是div</div>
<p>我是p</div>
外部(outerHTML)就是:
<h1 id='a'>
<div>我是div</div>
<p>我是p</div>
</h1>