selenium的基本操作

selenium的基本操作

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的

原文地址:https://www.cnblogs.com/g15009428458/p/12169127.html