selenium——元素定位
目录
元素定位方法
一、如何定位元素
二、第一类元素定位方法(只定位到一个元素)
1、通过标签中id属性的值来定位元素
2、通过标签中name属性的值来定位元素
3、通过标签中class属性来定位元素
4、通过标签的标签名来定位元素
5、通过超链接标签中的全部文本内容来定位元素(只适用于 a 标签,其他的标签无法使用这种方法)
6、通过超链接标签中的部分文本内容来定位元素(只适用于 a 标签,其他的标签无法使用这种方法)
7、通过css选择器来定位元素
8、通过xpath表达式来定位元素
总结:
三、第二类元素定位方法(定位到多个元素)
总结:
四、控制浏览器
1、最大化
2、最小化
3、设置窗口大小(宽度,高度)
4、前进
5、后退
6、刷新
元素定位方法
一、如何定位元素
二、第一类元素定位方法(只定位到一个元素)
1、通过标签中id属性的值来定位元素
drive.find_element_by_id("csdn-toolbar")
2、通过标签中name属性的值来定位元素
drive.find_element_by_name("keywords")
3、通过标签中class属性来定位元素
drive.find_element_by_class_name("layout-wrapper")
如果class属性值中有空格,不能直接使用class属性的值来定位元素,可以先用空格切割。
class_name = "layout-sidebar-aside layout-sidebar-aside_hide"
for i in class_name.split(" "):
drive.find_element_by_class_name(i)
4、通过标签的标签名来定位元素
drive.find_element_by_tag_name("input")
5、通过超链接标签中的全部文本内容来定位元素(只适用于 a 标签,其他的标签无法使用这种方法)
drive.find_element_by_link_text("CSDN首页")
6、通过超链接标签中的部分文本内容来定位元素(只适用于 a 标签,其他的标签无法使用这种方法)
drive.find_element_by_link_text("CSDN")
7、通过css选择器来定位元素
8、通过xpath表达式来定位元素
drive.find_element_by_xpath("//*[@id="toolbar-search-input"]")
总结:
- 第一类元素定位法返回值是WebElement类;
- 如果定位不到元素,会抛出一个异常:
- 如果使用元素的定位表达式找到多个元素,只返回定位到的第一个元素。
三、第二类元素定位方法(定位到多个元素)
总结:
- 返回值是一个列表。
- 这种方法会定位到多个元素,在使用的时候一定要先取索引,取到的是WebElement类,此时,才可以调用 clear、send_keys等方法对元素进行操作。
- 如果定位不到元素,不会抛出异常,而是返回一个空列表。
四、控制浏览器
1、最大化
driver.maximize_window()
2、最小化
driver.miniimize_window()
3、设置窗口大小(宽度,高度)
driver.set_window_size(200,10)
4、前进
driver.forward()
5、后退
driver.back()
6、刷新
driver.refresh()