1.访问,前进,后退,刷新,最大化
#coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="e:\driver\chromedriver")
#访问
driver.get("http://localhost:8088/demo/index.html")
#窗口最大化
driver.maximize_window()
#回退
driver.back()
#前进
driver.forward()
#刷新
driver.refresh()
#等待1秒
time.sleep(1)
#结束
driver.quit()
2.获取浏览器的位置,设置浏览器的位置
#coding:utf-8 from selenium import webdriver import time driver = webdriver.Chrome(executable_path="e:\driver\chromedriver") driver.get("http://localhost:8088/demo/index.html") #获取当前浏览器位置 position = driver.get_window_position() #{'x': 10, 'y': 10} print(driver.get_window_position()) #设置浏览器位置 driver.set_window_position(x=150, y=100) #获取当前浏览器位置 print(driver.get_window_position()) #{'x': 150, 'y': 100} time.sleep(3) driver.quit()
3.获取浏览器的大小,设置浏览器的大小
#coding:utf-8 from selenium import webdriver import time driver = webdriver.Chrome(executable_path="e:\driver\chromedriver") driver.get("http://localhost:8088/demo/index.html") #获取浏览器属性 print(driver.capabilities) #获取浏览器大小 size_data = driver.get_window_size() print(size_data) #{'height': 704, 'width': 1050} #设置浏览器大小 driver.set_window_size(width=400,height=400) time.sleep(2) driver.quit()
4.获取driver相关属性
#coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="e:\driver\chromedriver")
driver.get("http://localhost:8088/demo/index.html")
#当前url
print(driver.current_url)#http://localhost:8088/demo/index.html
#当前title
print(driver.title) #Test
#浏览器参数设置
print(driver.desired_capabilities)#{'cssSelectorsEnabled': True, 'locationContextEnabled': True, 'platform': 'Windows NT', 'acceptSslCerts': True, 'pageLoadStrategy'
#页面源码
print(driver.page_source)#<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Test</title></head><body><h1>It works!</h1></body></html>
#所有句柄
print(driver.window_handles)#['CDwindow-61b812cb-e5ac-45b0-bdd0-50b8fddfd3f7']
#当前句柄
print(driver.current_window_handle)#CDwindow-61b812cb-e5ac-45b0-bdd0-50b8fddfd3f7
time.sleep(2)
driver.quit()
5.切换句柄
#coding:utf-8 from selenium import webdriver import time driver = webdriver.Chrome(executable_path="e:\driver\chromedriver") driver.get("http://localhost:8088/demo/index.html") #获取当前句柄 curent_handler = driver.current_window_handle print(curent_handler)#CDwindow-fcb31ead-6b81-4ba3-8fa2-4b836b294eb2 js = "window.open('http://www.baidu.com')" #打开新窗口 driver.execute_script(js) #获取所有句柄 handlers = driver.window_handles #遍历句柄 now_handler = driver.current_window_handle #此句柄还是第一次get时的句柄 print(now_handler)#CDwindow-fcb31ead-6b81-4ba3-8fa2-4b836b294eb2 for i in handlers: if i != curent_handler: driver.switch_to.window(i) print(driver.title)#百度一下,你就知道 time.sleep(5) driver.quit()
6.八种定位方式
element = driver.find_element_by_id("id")
element = driver.find_element_by_name("name")
element = driver.find_element_by_link_text("text")
element = driver.find_element_by_partial_link_text("text")
element = driver.find_element_by_tag_name("tagname")
element = driver.find_element_by_class_name("class")
element = driver.find_element_by_css_selector("css")
element = driver.find_element_by_xpath("xpath")
7.判断元素是否可见
element.is_displayed()
8.判断元素是否可操作
element.is_enabled()
9.获取元素包含的attribute
element.get_attribute("attr")
10.获取元素的css属性
element.value_of_css_property("height")
11.清空内容,输入内容
#coding:utf-8 from selenium import webdriver import time driver = webdriver.Chrome(executable_path="e:\driver\chromedriver") driver.get("http://www.baidu.com") # 获取输入框页面对象 input = driver.find_element_by_id("kw") # 清除输入框中默认内容 input.clear() #输入内容 input.send_keys("selenium") time.sleep(3) driver.quit()
12.单击、双击
#单击 element.click() #双击 from selenium.webdriver import ActionChains # 开始模拟鼠标双击操作 action_chains = ActionChains(self.driver) #不执行perform,双击不生效 action_chains.double_click(element).perform()
13.操作下拉框-Select
<select id = "hobby"> <option value ="football">足球</option> <option value ="basketball">篮球</option> <option value="pingpong">乒乓</option> <option value="jump">跳高</option> </select>
#定位到Select元素 select_element=Select(self.driver.find_element_by_id("hobby")) #通过序号选择,序号从0开始 select_element.select_by_index(1) #通过选项的显示文本选择文本 select_element.select_by_visible_text("猕猴桃") #通过value select_element.select_by_value("pingpong")
#全部选项
res = select_element.options()
#四种取消的方法
1.deselect_all # 取消全部的已选择项 2.deselect_by_index # 取消已选中的索引项 3.deselect_by_value # 取消已选中的value值 4.deselect_by_visible_text # 取消已选中的文本值
#判断是否被选中
element.is_selected()