首页 > 代码库 > selenium webdriver (3)
selenium webdriver (3)
鼠标事件:
ActionChains 类
? context_click() 右击
? double_click() 双击
? drag_and_drop() 拖动
鼠标右键:
from selenium.webdriver.common.action_chains import ActionChains #导入ActionChains包
#定位到要右击的元素qqq=driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table/tbody/tr/td[2]")#对定位到的元素执行鼠标右键操作ActionChains(driver).context_click(qqq).perform()‘‘‘#你也可以使用三行的写法,但我觉得上面两行写法更容易理解chain = ActionChains(driver)implement =driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table/tbody/tr/td[2]")chain.context_click(implement).perform()‘‘‘
鼠标的其他操作:
#对定位到的元素执行鼠标双击操作ActionChains(driver).double_click(qqq).perform()#执行元素的移动操作ActionChains(driver).drag_and_drop(element, target).perform()
定位一组元素:
from selenium import webdriverimport timeimport osdr = webdriver.Firefox()file_path = ‘file:///‘ + os.path.abspath(‘checkbox.html‘ )dr.get(file_path)# 选择页面上所有的 input,然后从中过滤出所有的 checkbox 并勾选之inputs = dr.find_elements_by_tag_name(‘input‘ )for input in inputs:if input.get_attribute(‘type‘ ) == ‘checkbox‘ :input.click()time.sleep(2)dr.quit()
方法二:
# -*- coding: utf-8 -*-from selenium import webdriverimport timeimport osdr = webdriver.Firefox()file_path = ‘file:///‘ + os.path.abspath(‘checkbox.html‘ )dr.get(file_path)# 选择所有的 checkbox 并全部勾上checkboxes = dr.find_elements_by_css_selector(‘input[type=checkbox]‘ )for checkbox in checkboxes:checkbox.click()time.sleep(2)# 打印当前页面上有多少个 checkboxprint len(dr.find_elements_by_css_selector(‘input[type=checkbox]‘ ))time.sleep(2)dr.quit()
# 把页面上最后1个 checkbox 的勾给去掉dr.find_elements_by_css_selector(‘input[type=checkbox]‘ ).pop().click()time.sleep(2)
框架或窗口定位:
browser.switch_to_frame("f1")#再找到其下面的 ifrome2(id =f2)browser.switch_to_frame("f2")
#下面就可以正常的操作元素了
driver.switch_to_window("windowName")
selenium webdriver (3)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。