**1、**selenium中如何判断元素是否存在?
- isElementPresent
2,id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么? - css 、xpath 几乎所有的元素都可以定位到
3,、如何去定位页面上动态加载的元素? - 触发动态加载元素的事件,直至动态元素出现,进行定位
4、如何去定位属性动态变化的元素?
- xpath或者css通过同级、父级、子级进行定位
5、点击链接以后,selenium是否会自动等待该页面加载完毕? - 会的
6 get和post 的区别?
两种请求方式的区别:
1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。
POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。
2、传输数据的大小
在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。
对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。
3、安全性
POST的安全性比GET的高
7公司内一直在使用的测试系统(B/S架构)突然不能访问了,需要你进行排查并恢复,说出你的检查方法
答:一、网站输入域名直接无法访问,网站之前还正常,突然就无法访问
- 测试FTP是否正常可以登录,不能登录的直接问空间商那是空间商的问题直接联系他们。
- 空间赠送的三级域名是否能够访问网站打开网站(空间都赠送三级域名),如果也不能访问应该是空间问题。
- 在电脑的开始菜单运行中输入cmd,在弹出的黑框中输入:ping 你的域名;然后回车,如果看不到IP或IP地址与你的主机地址不符,则说明域名解析有误,是域名的问题得重新解析域名。
二、访问报404错误(无法找到该页)。说明是网站内容都正常是程序出现问题,看看程序是否完整。
三、访问网站出现MySQL Server Error 这个是数据库链接错误,查看数据库连接文件和数据库是不是错误。
四、访问网站出现500错误。 - 请登录FTP查看是否多了异常文件或丢失文件,说明网站被侵入了,马上联系网站制作进行进行排查故障。
- 如果空间且FTP程序目录没有缺失文件或刚刚安装就出现500错误,请确认空间已开启scandir()函数,查看是不是禁止了这个函数
8selenium 有几种定位方式,你最常用哪种, 为什么?
selenium有八种定位方式,和name有关的3个ByName,ByClassName,ByTagName
和link有关的2个ByLinkText,ByPartialLinkText
和id有关的1个ById
剩下两个全能的ByXpath和ByCssSelector
我最常用的事ByXpath(或CssSelector)因为很多情况下,html标签的属性不够规范,无法通过单一的属性定位,这个时候就只能使用xpath可以去重实现定位唯一element
事实上定位最快的应当属于ById,因为id是唯一的,然而大多数开发并没有设置id
9等待
显示等待——WebDriverWait()
:等到某个条件成立时继续执行。每隔一段时间检测,超出最大时间则抛出异常
is_disappeared = WebDriverWait(driver, 5).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())
2. 隐式等待——implicitly_wait()
隐式等待中的时间并非一个固定的等待时间,它并不影响脚本的执行速度。比如进行某元素的定位时,如果元素可以定位就继续执行,如果目前定位不到就以轮询的方式持续判断该元素是否被定位到,如果超过规定的时间还没定位到就抛出异常。
driver.implicitly_wait(20)
3. 强制等待——sleep()
from time import sleep
sleep(5)
- 什么是Selenium?
Selenium是一个开源的web自动化测试框架,主要是