一:注意事项
注意:
每次创建一个项目都要安装selenium:
放二个驱动包给venv
cmd:找到venv的目录:D:pycharmpythonProjectvenv
激活方式:Scriptsactivate
安装selenium:pip install selenium
进入Scripts目录输入:from selenium import webdriver
二/通过网页源代码分别查出以下元素:
id:找id的元素
name:找name的元素
class name:找class的元素
tag:找标签
link text:找文字链接
partial_link_text:找长文字链接
xpath:
相对路径定位
层级与属性结合
逻辑运算符
利用元素定位
三/id:
# 练习1.进入百度,使用id元素搜索魏世轩信息 #导包 from selenium import webdriver#from:来自 selenium=前期安装的selenium import 导入 webdriver=在selenium内存放webdriver #设置进入下一步的时间 import time#导入时间 #进入浏览器 driver=webdriver.Firefox()#driver 变量名 webdriver.Firefox()引用Firefox浏览器 #找寻网址 driver.get("https://www.baidu.com")#引用网址 #查找元素 driver.find_element_by_id("kw").send_keys("魏世轩")#根据网页检查元素找到属性为id,属性名("属性值") send_keys 输入的元素 #查找元素 driver.find_element_by_id("su").click()#click点击 #设置退出时间(s) time.sleep(5)#引用time,进入下一步时间为5秒 #退出浏览器 driver.quit() print("id操作完成")#当操作完成后,会在控制台显示该内容
四/name
#练习2,进入百度,使用name元素搜索”selenium“信息 #导包 from selenium import webdriver #设置进入时间 import time #进入浏览器 driver1=webdriver.Firefox() #选择浏览器 driver1.get("https://www.baidu.com") #查找name元素 driver1.find_element_by_name("wd").send_keys("selenium") #查询数据 driver1.find_element_by_id("su").click() #设置网页退出时间 time.sleep(5) #退出浏览器 driver1.quit() print("name操作完成")
五/class name
#练习3 class name,进度百度,使用class name 元素搜索”老师“信息 #导包 from selenium import webdriver #设置退出时间 import time #进入浏览器 driver2=webdriver.Firefox() #选择链接地址 driver2.get("https://www.baidu.com") #查找元素 driver2.find_element_by_class_name("s_ipt").send_keys("老师") #查询数据 driver2.find_element_by_id("su").click() #设置网页退出时间 time.sleep(10) #关闭浏览器 driver2.quit() print("class name操作完成")
六/link_text/partial
#练习四:搜索百度”新闻“的链接文字,及获取新闻链接的”中央经济工作会议传递这些鲜明信息“ #导包 from selenium import webdriver #设置退出时间 import time #进入浏览器 driver3=webdriver.Firefox() #设置网址 driver3.get("https://www.baidu.com") #进入百度”新闻“链接 driver3.find_element_by_link_text("新闻").click() #获取新闻链接里面的”中央经济工作会议传递这些鲜明信息“ handles=driver3.window_handles#时间句柄 #设置时间,找出下一个元素 time.sleep(5) #创建新窗口 driver3.switch_to.window(handles[-1]) #获取元素 driver3.find_element_by_partial_link_text("释放了重磅信号").click() #设置退出时间 time.sleep(5) #退出 driver3.quit() print("like跳转成功")