一、鼠标操作
参数都是元素对象,除了与坐标有关的函数外;
函数名:ActionChains 动作链
常见的鼠标操作:
1)悬浮 move_to_element 2)点击 click 3)双击 double_click 4)右键 context_click 5)拖拽 drag_and_drop 6)暂停 pause 7)输入 send_keys
操作步骤:
1)将要执行所有鼠标的动作,先放到一个列表当中。
2)perform() : 执行鼠标动作。
示例:
1 示例: 2 在百度首页中的设置中找到高级设置((鼠标悬浮在设置上后出现高级设置)) 3 4 import time 5 6 from selenium import webdriver 7 from selenium.webdriver.common.action_chains import ActionChains 8 from selenium.webdriver.common.by import By 9 from selenium.webdriver.support.wait import WebDriverWait 10 from selenium.webdriver.support import expected_conditions as EC 11 12 driver = webdriver.Chrome() 13 driver.maximize_window() 14 driver.get("https://www.baidu.com/") 15 16 # 1、找到鼠标要操作的元素(百度首页的设置) 17 loc = (By.XPATH, ‘//div[@id="u1"]//a[@name="tj_settingicon"]‘) 18 ele = driver.find_element(*loc) 19 ele.click() 20 21 # 2、实例化Actonchains类 22 ac = ActionChains(driver) 23 24 # 3、调用鼠标行为(悬浮) 25 ac.move_to_element(ele) 26 27 # 4、调用perform()来执行鼠标动作 28 ac.perform() 29 time.sleep(2) 30 31 # # 注: 若将2、3、4操作结合到一起 32 # ActionChains(driver).move_to_element(ele).perform() 33 34 # 5、等待 下拉列表中元素可见 35 loc2 = (By.XPATH, ‘//a[text()="高级搜索"]‘) 36 WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc2)) 37 38 # 6、选择想要操作的元素 39 # 触发高级搜索内容出现 40 driver.find_element(*loc2).click()
二、下拉列表操作(Select类)
使用Select类进行操作
1)初始化,传select对象;
2)根据下标、value属性、文本内容来选择值;
示例:
上面案例的基础上操作(对百度高级设置中的文件格式下拉框进行选择操作)
1 from selenium.webdriver.support.select import Select 2 3 # 1、初始化,传select对象 4 loc3 = (By.XPATH, ‘//select[@name="ft"]‘) 5 WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc3)) 6 select_element = driver.find_element(*loc3) 7 8 s = Select(select_element) 9 10 # 2、根据下标 value属性、文本内容来选择值 11 # 根据下标选值 12 s.select_by_index(6) 13 time.sleep(3) 14 # 根据value属性选值 15 s.select_by_value("doc") 16 time.sleep(3) 17 # 根据文件内容选值 18 s.select_by_visible_text(‘RTF 文件 (.rtf)‘) 19 time.sleep(3) 20 21 # 3、关闭会话 22 time.sleep(5) 23 driver.quit()
三、键盘操作(Keys类)
Keys类中处理特殊键
示例:
在百度首页找到搜索输入框,输入内容后,点击百度一下的鼠标操作使用enter键替代
1 import time 2 from selenium import webdriver 3 from selenium.webdriver.common.keys import Keys 4 5 # 1、打开访问百度首页 6 driver = webdriver.Chrome() 7 driver.maximize_window() 8 driver.get("http://www.baidu.com") 9 # 2、找到搜索输入框,输入selenium webdriver,按enter键进行搜索 10 element = driver.find_element_by_id("kw") 11 element.send_keys("selenium webdriver", Keys.ENTER) 12 element.send_keys(Keys.CONTROL,"c") 13 14 # 3、关闭会话 15 time.sleep(5) 16 driver.quit()
Selenium中web三大操作(鼠标操作、下拉列表操作、按键操作)
原文:https://www.cnblogs.com/forayepy/p/12446168.html