selenium模块是基于浏览器自动化的一个模块.
1.selenium安装
pip install selenium
2.实例化一个浏览器对象
新版本selenium无需下载驱动程序
from selenium import webdriver
webdriver.Chrome()
3.发起请求
from selenium import webdriver
chr=webdriver.Chrome()
chr.get("https://www.taobao.com")
4.获取浏览器当前页面的源码数据
page_text = chr.page_source
5.标签定位
from selenium.webdriver.common.by import By
#定位id
chr.find_element(By.ID,value="")
#name
chr.find_element(By.NAME,value="")
#class_name
chr.find_element(By.CLASS_NAME,value="")
#tag_name
chr.find_element(By.TAG_NAME,value="")
#link_text
chr.find_element(By.LINK_TEXT,value="")
#partial_link_text
chr.find_element(By.PARTIAL_LINK_TEXT,value="")
#class_selector
chr.find_element(By.CLASS_SELECTOR,value="")
#xpath
chr.find_element(By.XPATH,value="")
6.标签交互
from selenium.webdriver.common.by import By
#定位id
search_input=chr.find_element(By.ID,value="")
#标签交互
search_input.send_keys('')
7.执行js程序
chr.execute_script('')
#滚动一屏
chr.execute_script('window.scrollTo(0,document.body.scrollHeight)')
8.前进后退
#前进
chr.forward()
#后退
chr.back()
9.iframe
如果定位标签位于iframe标签之中,则必须使用switch_to.frame(id)
动作链
from selenium.webdriver import ActionChains
#实例化一个动作链对象
action = ActionChains(chr)
#长按
click_and_hold(div)
#移动 x水平方向 y竖直方向
move_by_offset(x,y)
#让动作链立即执行
action.move_by_offset(x,y).perform()
#释放动作链
action.release()