python中通过selenium简单操作及元素定位
浏览器的简单操作 ? selenium的8种定位方式 6种靠单一的特征来找元素(id,calss_name,tag_name,name,link_text(2)) 组合各种特征和关系来找元素(xpath,css) 1.id定位:唯一 ?find_element_by_id() 2.name定位:不唯一 find_element_by_name() find_elements_by_name() 3.class定位:不唯一 find_element_by_class() 4.tag_name定位:不唯一 find_element_by_tag_name() # 单数,在DOM页面中,匹配到的第一个元素 find_elements_by_tag_name() # 复数,返回的是一个列表,元素为webElement对象,全部匹配的元素 5.文本匹配:/完全匹配/部分匹配 find_element_by_link_text() find_element_by_partial_link_text() ? Xpath定位: 1.通过自己来定位: 语法://标签名[@属性名=值] 例如: //*[@id="mCon"]/span # *匹配所有元素 //*[@id="kw"] 2.通过文本来定位: 语法://标签名[text()="值"] 例如: //h1[(text()= "第20期")] # 完全匹配 //h1[contains(text(),"第20期")] # 部分匹配,包含 3.层级定位: 如果找到的元素有两个或多个完全一样的元素,那么就通过他们不同的父级或父级的父级来定位 / 绝对定位,单斜杠只能写子级,不能跳级写 // 相对定位,双斜杠可以写子级,子级的子级等等(推荐使用) 举例说明: l? 输入账号 //div//input[@name="account"] //div[@class="padding-cont pt-login"]//input[@placeholder="邮箱/账号/手机号"] l? 输入密码 //div[@class="padding-cont pt-login"]//input[@name="pass"] //div[@class="padding-cont pt-login"]//input[@type="password"] l? 下次自动登录 //div[@class="padding-cont pt-login"]//a[text()="下次自动登录"] //div[@class="padding-cont pt-login"]//a[@class="auto-login fl"] l? 忘记密码 //div[@class="padding-cont pt-login"]//a[@class="forget fr"] //div[@class="padding-cont pt-login"]//a[text()="忘记密码?"] l? 登录按钮 //div[@class="padding-cont pt-login"]//a[@class="btn-btn"] //div[@class="padding-cont pt-login"]//a[text()="登录"] ?Xpath轴定位: 含义:通过同级目录来定位元素,叫做轴定位 轴运算: ancestor:祖先节点,包括父节点 parent:父节点 preceding-sibling:当前元素节点标签之前的所有兄弟节点 following-sibling:当前元素节点标签之后的所有兄弟节点 preceding:当前元素节点标签之前的所有节点(HTML页面先后顺序) following:当前元素节点标签之后所有的节点(HTML页面先后顺序) 轴定位语法: /轴名称::标签名称[@属性名=值] 示例:例://div//table//td//preceding::td 应用场景: 页面显示为一个表格样式的数据列,需要通过组合来定位元素 xpath轴扩展资料:https://www.w3school.com.cn/xpath/xpath_axes.asp (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |