Web的8种(6+2)元素+定位方法
- id : id属性
- name : name属性
- class_name :
- tag_name :标签名
- css定位表达式:
局部html代码
<input type=\"text\" class=\"s_ipt\" name=\"wd\" id=\"kw\" maxlength=\"100\" autocomplete=\"off\">
应用于a标签的两种元素
-
link_text:对于a标签的显示文字进行定位
-
partial_link_text:(一搬对于a标签的显示文字进行部分定位)
<a href=\"http://www.baidu.com\" id=\"fwA\" target=\"_blank\">**访问 百度 网站**</a>
定位
link_text
driver.find_element_by_link_text(\"访问 百度 网站\")
partial_link_text
driver.find_element_by_partial_link_text(\"访问\")
获取元素的方式-xpath
获取元素-By
1.导包/模块 from selenium.webdriver.common.by import By
def find_element(self, by=By.ID, value=None):
def find_elements(self, by=By.XPATH, value=None):
如果有多个相同的文本:
find_element()和find_elements()的区别
- find_element()的返回结果是一个WebElement对象,如果符合条件的有多个,默认返回找到的第一个,如果没有找到则抛NoSuchElementException异常。
- find_elements()的返回结果是一个包含所有符合条件的WebElement对象的列表,如果未找到,则返回一个空列表。
selenium是一款十分强大的Web应用自动化框架,我们可以通过它来自动操控浏览器。操控浏览器的实质是操控浏览器的界面元素,因此定位元素是使用selenium的关键,selenium中通过find_element方法来完成定位。
在4.1.x版本后如图的方法被弃用用;
一般会提示报错:
AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_xx
解决方法:
** 1. 降级到4.0以前的版本(4.1.1可以用,但是已经划线了这些方法)**
** 2.使用By模块的方式**
来源:https://www.cnblogs.com/nf0000/p/16662738.html
本站部分图文来源于网络,如有侵权请联系删除。