已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
selenium webdriver+python的基本操作quit()退出并关闭某程序,browser.quit().close()关闭窗口,Browser.close()time.sleep() 函数设置某个位置停留一段时间,在哪里想停留就在哪里插入此函数,括号里为秒数,注意:使用此函数,要 import time。from selenium import webdriver import time browser = webdriver.Firefox() browser.get(26:8088/scmcc) browser.find_element_by_id(userName).send_keys(sysadmin) browser.find_element_by_id(password).send_keys(sysadmin)browser.find_element_by_xpath(/html/body/form/div2/div/div3/ul/li3/span1/a/img).click() time.sleep(10) browser.close()设置登录成功后停留了10秒,然后关闭页面在适当的位置加入time.sleep()有助于减少网络原因造成的脚本执行失败.title返回当前页面的标题browser.title.forward()前进,browser.foeward().back()后退,browser.back().refresh()刷新,browser.refresh().current_url返回当前页面url,browser.current_url.window_handles返回当前浏览器的所有窗口,browser.window_handles.current_window_handle返回当前浏览器的窗口句柄,browser.current_window_handle.swatch_to_window(“window_name”)选择窗口,browser.switch_to_window(“要切换到的窗口名”)对话框操作.switch_to_alert()选择窗口对象accept()点击“确认”.dismiss()点击“取消”text获取文本值Send_keys(keys)输入值定位元素Id定位browser.find_element_by_id(id)name定位browser.find_element_by_name(name)css定位CSS(CascadingStyleSheets)是一种语言,它被用来描述HTML和XML文档的表现。CSS使用选择器来为页面元素绑定属性。这些选择器可以被selenium用作另外的定位策略。CSS的比较灵活可以选择控件的任意属性browser.find_element_by_css_selector(#foo)css定位可以取name属性,如:新 闻driver.find_element_by_css_selector(aname=tj_news).click()可以取title属性,如:网页driver.find_element_by_css_selector(atitle=web).click()也可以是取.:driver.find_element_by_css_selector(a.RecycleBin).click()xpath定位browser.find_element_by_xpath(xpath)XPath是一种在XML文档中定位元素的语言。因为HTML可以看做XML的一种实现,所以selenium用户可是使用这种强大语言在web应用中定位元素。XPath扩展了上面id和name定位方式,提供了很多种可能性,比如定位页面上的第三个多选框。xpath:attributer (属性)driver.find_element_by_xpath(/inputid=kw).send_keys(selenium)#input标签下id =kw的元素xpath:idRelative (id相关性)driver.find_element_by_xpath(/divid=fm/form/span/input).send_keys(selenium)#在/form/span/input 层级标签下有个div标签的id=fm的元素driver.find_element_by_xpath(/trid=check/td2).click() # id为check 的tr ,定闪他里面的第2个tdxpath:position (位置)driver.find_element_by_xpath(/input).send_keys(selenium) driver.find_element_by_xpath(/tr7/td2).click()#第7个tr 里面的第2个tdxpath: href (水平参考)driver.find_element_by_xpath(/acontains(text(),网页).click()#在a标签下有个文本(text)包含(contains)网页 的元素xpath:linkdriver.find_element_by_xpath(/ahref=/).click()#有个叫a的标签,他有个链接href=/ 的元素link定位browser.find_element_by_link_text(u链接)有时候不是一个输入框也不是一个按钮,而是一个文字链接,我们可以通过link如:browser.find_element_by_link_text(贴 吧).click()一般一个那页面上不会出现相同的文件链接,通过文字链接来定位也是一种简单有效的定位方式PartialLinkText定位通过部分链接定位browser.find_element_by_partial_link_text(贴).click()#通过find_element_by_partial_link_text() 函数,我只用了“贴”字,脚本一样找到了贴 吧 的链接tag定位browser.find_element_by_tag_name(foo)截取当前页面browser.get_screenshot_as_file(/ Screenshots /foo.png)举例:多种方式定位百度输入框#百度输入框的定位方式#通过id方式定位browser.find_element_by_id(kw).send_keys(selenium)#通过name方式定位browser.find_element_by_name(wd).send_keys(selenium)#通过tag name方式定位browser.find_element_by_tag_name(input).send_keys(selenium)#通过class name 方式定位browser.find_element_by_class_name(s_ipt).send_keys(selenium)#通过CSS方式定位browser.find_element_by_css_selector(#kw).send_keys(selenium)#通过xphan方式定位browser.find_element_by_xpath(/inputid=kw).send_keys(selenium)#查看百度输入框的审查元素信息如上:id=”kw”name=”wd”tagname(标签名),指的是这个标签的名字class=s_ipt这个例子中的css定位,是通过选取元素中的id属性定位的“Find Element”与“Find Elements”第一个方法返回一个WebElement或者抛出异常。后者返回所有WebElement的列表,或者空列表by方法by_id是一个极为有效定位元素的方法。普遍的现状是UI工程师在实际编写页面时很少写id或者自动生产一个ID。对于一个页面Element来说,class比自动生产的id更好。By Class Name这里的class指的是DOM中的元素,在实际使用过程中,很多DOM元素含有相同的class名CheddarGoudaelement=driver.find_elements_by_class_name(cheese)By Tag NameDOM的Tag元素用Tag name 定位元素的例子:element = driver.find_elements_by_tag_name(iframe)By Name例子:element=driver.find_element_by_name(passwd)By Link Text例子: Are you sure you want to do this? Continue Cancel continue_link=driver.find_element_by_link_text(Continue)continue_link=By Partial Link Text根据链接的部分文字例子: Are you sure you want to do this? Continue Cancel driver.find_element_by_partial_link_text(Conti)By CSS从名字上看,这是根据CSS来定位元素。例子:milkcheesecheese = driver.find_element_by_css_selector(#food span.dairy aged)cheese = driver.find_element_by_css_selector(#food span.dairy aged)By XPATH在高级的水平下,WebDriver尽可能使用浏览器的原生的XPath能力。在那些没有原生的XPath支持的浏览器,我们提供自己的实现方式。但是三个Driver有一定的区别。第一种方法是Xpath指定绝对路径login_form=driver.find_element_by_xpath(/html/body/form1)第二种方法是Xpath指定form的第一元素(Xpath定位是从1开始的)login_form=driver.find_element_by_xpath(/form1)第三种方法是Xpath指定表单元素与属性命名编号login_form=driver.find_element_by_xpath(/formid=loginForm)经验原则:WebDriver在使用中的XPath时,不应该期望能够对这些隐含属性相匹配举例选择某一个选项select =driver.find_element_by_tag_name(select)select.deselect_all();select.deselect_by_visible_text(Edam);遍历select标签select = driver.find_element_by_tag_name(select)all_options =select.find_element_by_tag_name(option)for option in all_options:print Value is: %s % option.get_attribute(value)option.click()上传文件select = driver.find_element_by_id(upload)filePath = C:testuploadfilemedia_adstest.jpgFileUpload.send_keys(filePath)提交driver.find_element_by_id(upload).submit()拖拽操作element=driver.find_element_by_name(source)target=driver.find_element_by_name(target)driver.dragdrop(element,target)Windows和Frames之间的切换一些web应用程序有许多Frames或多个Windows。 WebDriver支持使用“switchTo”的方法实现的窗口之间切换。driver.switch_to_window(windowName)所有对driver的调用都会指向特定的窗口,但是我们怎么知道窗口的名字呢?我们可以查看javascript代码和打开他的链接:Click here to open a new window另外,还可以通过“window handle”去调用“switchTo().window()”,通过这个,我们就遍历来找到所有打开的窗口:for handle in driver.window_handles:driver.switch_to_window(handle);Switch同样支持framedriver.switch_to_frame(frame_name)driver.switch_to_frame(1)弹出框:从selenium2.0开始,已经支持对弹出框的获取alert=driver.switch_to_alert()这个方法会返回当前被打开打警告框,你可以进行统一,取消,读取提示内容,后则进入到提示,这个同样使用alerts,conf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 白城市洮北区事业单位招聘考试真题2025
- 南岔社区工作者招考真题及答案2025
- 信息组织与信息构建(第二版)课件 01信息概述与信息组织
- 作文结尾-中考语文作文易混易错(解析版)
- 水利工程阶段验收流程
- 教师业务考核不达标个人整改措施
- 教师职业幸福感调查问卷
- 机关采购验收管理制度
- 新能源特种车辆生产制造项目环评报告表
- 乳腺癌-卵巢癌易感基因(BRCA1-2)检测临床应用与致病性判读
- 2026年广东省安全员C证(专职安全生产管理人员)模拟考试试题(含答案)
- 2026重庆大渡口区跃进村街道办事处街道聘用人员招聘4人笔试备考题库及答案详解
- 体态康复模板
- T/CAPE 11005-2023光伏电站光伏组件清洗技术规范
- 肿瘤破溃伤口处理
- 公司承包给个人经营合同
- 输尿管成形术后护理
- 伴生放射性矿开发利用企业环境辐射监测要求、监测年度报告格式与内容
- 受灾群众集中转移安置方案及受灾群众基本生活保障方案
- 中国证监会证券市场交易结算资金监控系统证券公司接口规范
- 实验室试剂管理培训
评论
0/150
提交评论