selenium的基本操作
常用类与方法
from selenium import webdriver #驱动浏览器 from selenium.webdriver import ActionChains #鼠标相关操作 from selenium.webdriver.common.by import By #选择器,以什么方式选择标签元素 from selenium.webdriver,common.keys import Keys #键盘相关 from selenium.webdriver.support import expected_conditions as EC #各种判断,一般跟等待事件连用,比如说等待某个元素加载出来 from selenium.webdriver.support.wait import WeDriverWait #等待事件,可以与EC连用
browser = webdriver.Chrome()
wait = WebDriverWait(browser,10)
browser.get("https://www.baidu.com") #利用谷歌浏览器打开百度窗口
browser.maximize_window() #窗口最大化
print(browser.current_url) #获取当前页url
print(browser.title) #获取当前页面的title
print(browser.name) #获取driver对象:chrome
print(browser.current_window_handle) #获取当前页面窗口
print(browser.get_cookies()) #获取cookies
print(browser.page_source) #获取当前页面内容
browser.refresh() #刷新
browser.save_screenshot('a.png') #保存截图
browser.close() #关闭当前窗口
browser.quit() #退出浏览器驱动,关闭关联窗口
选择器
from selenium import webdriver #驱动浏览器
from selenium.webdriver.support.wait import WebDriverWait #等待事件
browser = webdriver.Chrome() #选择为谷歌浏览器
browser.find_element_by_id('su') #id选择器
browser.find_element_by_class_name('xx') #类选择器,1个
browser.find_elements_by_class_name('xx') #类选择器,多个
browser.find_element_by_link_text('xxx') #连接文本选择器
browser.find_element_by_xpath('xxxx') #xpath选择器
browser.find_element_by_tag_name('h1') #标签选择器,获取1个
browser.find_elements_by_tag_name('h1') #标签选择器,获取多个
browser.find_element_by_css_selector('xxx') #样式选择器
另外,上面的选择器,都可以写成下面的形式
By.ID
By.LINK_TEXT
By.CLASS_NAME
By.XPATH
By.CSS_SELECTOR
By.TAG_NAME
通过选择器来实现
import time from selenium import webdriver #驱动浏览器 from selenium.webdriver import ActionChains #鼠标的相关操作,比如滑动验证 from selenium.webdriver,common.keys import By #选择器以什么方式选择标签元素 from selenium.webdriver.common,keys import Keys #键盘相关 from selenium.webdriver.support import expect_conditions as EC #各种判断等待时间连用,比如说等待某个元素加载出来 from selenium.webdriver.support.wait import WeDriverWait #等待事件
browser = webdriver.Chrome()
wait = WebDriverWait(browser,10)
browser.get('https://www.baidu .com')input = browser.find_element_by_id('kw') #id选择器
input.send_keys('张开嘴') #获取到input框就可以往里面填值了
time.sleep(1)
input.clear() #清空值
submit = browser.find_element_(By.ID,'su')
submit.click() #点击事件有时候点击事件会有问题,选择键盘处理
submit.send_keys(Keys.ENTER)
print(input.get_attribute('name')) # 获取name属性
print(input.text) # 获取内容,但这里的input没有text
print(input.tag_name)
print(input.get_property('name')) # 获取给定属性,用法类似get_attribute
print(browser.find_element_by_class_name('mnav').text) # 找个有text的