赞
踩
简单代码
- from selenium import webdriver
- import time
-
- # 创建浏览器驱动对象
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Chrome() # 参数写浏览器驱动文件的路径,若配置到环境变量就不用写了
- # 访问网址
- driver.get("https://www.baidu.com/")
-
- #找到输入搜素框
- inpEle = driver.find_element(By.ID,"kw")
- inpEle.send_keys("海康交通大数据")
-
-
- # 找到搜索按钮
- sEle = driver.find_element(By.ID,"su")
- sEle.click()
-
- # 退出浏览器
- # driver.quit()
By中有8个,定位方式
如下图的源码可知: id ,class_name, name 底层都是css
通过find_element 来找
find_elements, 返回的是列表
本来是这么写的
变成这么写, 把元素独立出来。就可以单独维护
- ele = ('id','kw')
-
- driver.find_element(*ele)
1234 (直接连起来是and关系, 如果是 用(逗号)分割,就是or关系 ),and时顺序是1234
用css定位时补充:假如id为数字开头
#id #id值,这种不行
[id="31qvvq"] # css的属性值定位是可以的
补充:nth-child() 的使用,要结合 > 不然可能不行
/ 一个表示一层一层往下找 (儿子中找)
// 两个表示从后代找 (后代中找)
a. 想用多个属性, //input[@id='kw' and @class]
b .想用文本来取时 //*[text(),"文本"] //*[contains(text(),"文本")]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。