一、Selenium环境搭建
1、进入命令符
2、输入pip3 install selenium 下载selenium
搭建selenium环境步骤:
1.下载python
2.配置环境变量
3.检查scirpt文件夹是否为空
4.空的话,执行下边代码
5.结果如下:
6.pip3 install selenium 安装selenium第三方库
7.成功后可以查看selenium的版本来验证
3、查看浏览器的版本 (打开chrome,设置,关于chrome)
4、淘宝源http://npm.taobao.org/mirrors/chromedriver下载版本合适的driver
5.解压到python3目录下:
双击或者以管理员身份运行,看是否能打开
打开后的结果:
6.查看selenium的版本信息
二.selenium元素定位的八种方法:单元素定位
元素定位前 需要导入几个库:
from selenium import webdriver
# 导入By库,可以查看元素定位使用的方法 光标放在By上,ctrl+鼠标左键
from selenium.webdriver.common.by import By
# '''导入time库用来设定操作的时间间隔'''
import time as t
# 指定被测的浏览器并且对webdriver进行实例化
1、通过ID来定位(打开chrome,百度,右击点击检查,点击
,将鼠标移动到需要定位的目的位置,就会显示元素的属性)click()点击 也是一样
然后执行如下代码:
from selenium import webdriver
# 导入By库,可以查看元素定位使用的方法 光标放在By上,ctrl+鼠标左键
from selenium.webdriver.common.by import By
# '''导入time库用来设定操作的时间间隔'''
import time as t
# 指定被测的浏览器并且对webdriver进行实例化
# 指定被测的浏览器并且对webdriver进行实例化
driver=webdriver.Chrome()
# 导航到被测的网址
driver.get("http://www.baidu.com/")
t.sleep(5)
""通过id来定位”
driver.find_element_by_id("kw").send_keys("柏晓宁")
t.sleep(5)
driver.find_element_by_id("su").click() 点击
t.sleep(5)
# 退出
driver.quit()
2.通过name属性来定位:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time as t
driver=webdriver.Chrome()
driver.get("http://www.baidu.com/")
t.sleep(1)
driver.find_element_by_name("kw").send_keys("柏晓宁")
t.sleep(1)
driver.find_element_by_name("su").click()
t.sleep(1)
3.通过class_name属性来定位:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time as t
driver=webdriver.Chrome()
driver.get("http://www.baidu.com/")
t.sleep(1)
driver.find_element_by_class_name("kw").send_keys("柏晓宁")
t.sleep(1)
driver.find_element_by_class_name("su").click()
t.sleep(1)
4.通过xpath属性来定位:
代码如下:
5.通过ccs属性来定位:
6.定位超链接有两种方法:
(1)验证是否为超链接 出现如第三步所示就是超链接
(2)自动化超链接按钮时,只需要使用click()点击 方法就可以了
1.link_text:超链接
代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time as t
driver=webdriver.Chrome()
driver.get("http://www.baidu.com/")
t.sleep(1) t.sleep方法指的是上个操作完成后间隔几秒
driver.find_element_by_link_text("新闻").click()
t.sleep(1)
(2)PARTIAL_LINK_TEXT 模糊查找:输入超链接的关键字就行 用于对超链接的处理,也只会用到click() 点击的方法
多元素定位 :针对定位时有多个名字一样的元素名字,通过索引找到我们要定位的元素属性
find_elements_by_tag_name
from selenium import webdriver
from selenium.webdriver.common.by import By
import time as t
"""tag_name 演示多个元素的定位"""
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
tag=driver.find_elements_by_tag_name('input')
tag[7].send_keys('无涯教育')
t.sleep(5)
driver.quit()