元素定位方式

元素定位的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")]

(特别注意 应使用英文符号)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值