表单元素定位
表单元素的断言
处理富文本框
表格元素的定位
tr是行
td,th 是列---tr和th都可以用元素定位--可以用find_elements_by_tag_name('td')可以找出所有的单元格,单元格位置会变因为会新增单元格,
table定位的方法:
1,定位tr:rows = find_element_by_tag_name('tr')
2,first_row = rows[0]
单元格(列):
1,首先定位所在行,再定位所在列
2,cells = r.find_elements_by_tag_name('td')
first_cell_of_row = cells[0]
table定位的最佳实践:
1,多个table时首先唯一定位table,然后定位行,最后定位单元格(tagname+index)
2,尽量使用id和name
3,没有id和name使用css selector
4,使用tagname+index的方式可以搞定一切,但不是最好的选择
5,不要用工具生成的xpath
name和id比较稳定,没有name和id表单是有问题的
表单是table,有表头,表单,表尾,
富文本框,要用js定位—是ifram,嵌入式页面,改ifram的body的值是赋值---富文本框就是ifram,一个单独的嵌入式页面,赋值的方式就是通过js改body的内容,
富文本框复制,1,js首先访问ifram,2,再访问ifram中contwindow,3,在访问body,4,使用innertext属性进行赋值(interhtml)
eg:创建post用例
进入创建post页面,填写标题(input),填写内容(富文本),点击发布按钮(inputsubmit),进入所有文章页面,第一篇文章的标题应该是刚填写的标题
断言要站在用户角度去写,
js调试就是f12打开进入console页面去调试
1,doument.getElementById('富文本框title输入的id')
2,doument.getElementById('富文本框title输入的id').contentwindow
3,doument.getElementById('富文本框title输入的id').contentwindow.document
4,doument.getElementById('富文本框title输入的id').contentwindow.document.body.innerText
5,doument.getElementById('富文本框title输入的id').contentwindow.document.body.innerText = '输入你
要编写的值,文本