常用定位方法有:
id name class name tag name link text partial link text xpath css selctor 对应的方法: find_element_by_id("kw") find_element_by_name("name") find_element_by_class_name("name") find_element_by_tag_name("input") find_element_by_link_text("贴吧") find_element_by_partial_link_text("贴") find_element_by_xpath("/html1/body/div[2]/form/span/input")#绝对数劲 find_element_by_xpath("//input[@id=‘input‘]")#通过自身的ID定位属性 find_element_by_xpath("//sapn[@id=‘input-container‘]/input")通过上一级ID定 find_element_by_xpath("//div[@id=‘hd‘]/from/sapn/input")#通过上三级ID定位 find_element_by_xpath("//div[@id=‘hd‘] or @name=‘q‘]") find_element_by_css_selector(div#eleid)#id为eleid
操作测试对象
clear()#清除输入框内容 send_keys("xx")#向输入框输入内容 send_keus(u"中文内容") #输入中文加u click()#单击内容 submit()#提交表单
WebElement接口常用方法
返回元素尺寸 szie = driver.find_element_by_id("kw").size #返回百度输入框的尺寸 print size #输出结果: {‘width‘: 500, ‘height‘: 22} text = driver.find_element_by_id("cp").text#返回百度底部备案信息 print text #输出结果: ?2018 Baidu 使用百度前必读 意见反馈 京ICP证030173号 京公网安备11000002000001号arr result= driver.find_element_by_id("kw").is_displayed #回元素的结果是否可见,#返回True or false print result #输出结果: True
鼠标事件
ActionChains#类鼠标操作常用方法 context_click()#右击 double_click()#双击 drag_and_drop#()拖动 move_to_element()#鼠标悬停在一个元素上 click_and_hold()#按下鼠标左键,在一个元素上 引入ActionChains类 from selenium.webdriver.common.action_chains.import ActionChains 鼠标右击操作 right = dirver.find_element_by_xpath("xx")#定位到需要右击的元素 ActionChains(driver).context_click(right).perform()#对元素进行右击操作 #ActionChains用于生成用户行为,将所有行为保存到ActionChains对象,通过perform去执行 #perform 是ActionChains类提供的方法,需要与ActionChains配合使用 鼠标双击操作 double = driver.find_element_by_xpath("xx")#定位到需要双击的元素 ActionChains(driver).double_click(double).perform() #双击操作 鼠标拖放操作 element = driver.find_element_by_name("xx")#定位鼠标原位置 target = drivere.find_element_by_name("xx")#定位鼠标要移动的目标位置 ActionChains(driver).drag_and_drop(elemtn,trager).perform()#执行移动的操作 鼠标移动到元素上 above = driver.find_element_by_xpath("xx")#定位鼠标移动到上面的元素 ActionChains(driver).move_to_element(above).perfrom#移动鼠标到定位的元素上 按下鼠标左键 left = driver.find_element_by_xpaht("xx")#定位到左键按下的元素 ActionChains(dirver).click_and_hold(left).perfrom
键盘事件
from selenium import webdriver from selenium.webdriver.common.keys import keys #引包keys包 import time driver = webdriver.Ie() driver.get("http://www.baidu.com") driver.find_element_by_id("kw").send_keys("selenium")#向输入框输入"selenium" time.sleep(3)#等待3秒为了更能看清变化 driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)#去掉框同的mm driver.find_element_by_id("kw").send_keys(Keys.SPACE)#向输入框输入空格 driver.find_element_by_id("kw").send_keys(u"教程")#向输入框输入"教程" driver.find_element_by_id_("kw").send_keys(Keys.CONTROL,"a")#全选输入框的内容 time.sleep(3) driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"C")#复制全选内容 driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"X")#剪贴全选内容 driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"V")#粘贴内容 driver.find_element_by_id("su").send_keys(Keys.ENTER)#通过键盘回车代替点击操作 time.sleep(3) driver.quit()#关闭浏览器 send_keys(Keys.BACK_SPACE)#删除键send_keys(Keys.SPACE)#空格键send_keys(Keys.TAB)#制表键send_keys(Keys.ESCAPE)#回退键send_keys(Keys.ENTER)#回车键send_keys(Keys.CONTROL,"a")#全选send_keys(Keys.CONTROL,"C")#复制send_keys(keys.CONTROL,"V")#粘贴send_keys(Keys.CONTROL,"X")#剪切注:(keys类所提供的所有按钮请查阅 webdriver API)
原文地址:https://www.cnblogs.com/guog1/p/8475465.html
时间: 2024-10-19 07:36:27