元素定位方式"/>
元素定位方式
元素定位的8种方式:
name,id,class,tagname,css,xpath,linktext,partial linktext
对于iframe嵌套,弹出框等的定位问题 记录
iframe:
1.iframe是html元素,用于在网页中内嵌套另一个网页。
2.iframe默认有一个宽高,存在边界
3.iframe是一个行内快级元素,可以通过display修改
iframe是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME),iframe元素会创建包含另外一个文档的内联框架(行内框架)
switch_to.frame/iframe()切换不同表单: 默认可以直接取表单的id或name属性。
switch_to.window()切换不同窗口
current_window_handle 获得当前窗口句柄
window_handles 返回所有窗口的句柄到当前会话
警告框:
switch_to_alert() alert/confirm/prompt
定位方法:
xpath元素定位:
/ 开头是绝对路径
// 是相对路径
使用方式:
相对路径+索引
相对路径+属性定位 呼叫符号 @属性
相对路径+通配符定位 *
相对路径+部分属性值定位 [contains(@属性,"部分属性值")]
相对路径+文本定位 text()="文本内容完全匹配“ [contains(text(),"部分文本内容")]
属性匹配:(@)
表达式://标签名[@属性名称=属性值 and @属性名称=属性值],
支持*号,支持and/or连接,匹配所有
driver.find_element(By.XPATH,"//*[@autocomplete='off']").send_keys("apple")
driver.find_element(By.XPATH,"//input[@name='kw']".send_keys("apple")
文本匹配
表达式: //标签名[text()="元素的文本内容"] ,文本内容完全匹配
driver.find_element(By.XPATH,"//span[text()='按图片搜索']").click
模糊匹配:
表达式: //标签名[contains(text(),"部分文本内容")]
//标签名[contains(@属性,"部分属性值")]
driver.find_element_by_XPATH('//span[contains(text(),"搜索")]')
//input[contains(@autocomplete,"of")]
(特别注意 应使用英文符号)
更多推荐
元素定位方式
发布评论