Selenium 使用方法汇总

1、WebDriver API
  • API
driver.get(url)   #访问该URL
driver.current_url #获取当前页URL
driver.titel #获取当前页titel
driver.page_source #获取当前页HTML源码
driver.back()   #返回上次浏览页面 【浏览器后退】
driver.forward() # 前进 【浏览器前进页面】
driver.refresh()  #刷新当前页面
driver.fullscreen_window()  #浏览器全屏化
driver.minimize_window()   # 浏览器窗口最小化
driver.maximize_window()  #浏览器窗口最大化
driver.get_window_size()   #获取浏览器窗口值
driver.set_windows_size(with,height)  #设置浏览器大小
driver.get_windows_position()  #获取浏览器当前位置
driver.set_windows_position()  #设置浏览器当前位置
driver.current_windows_handle  #获取浏览器句柄
driver.get_screenshot_as_file()  #当前浏览器截屏
driver.name #浏览器名称
driver.quit()  #退出所有窗口
driver.close()  #关闭当前
  • 测试代码

# encoding = utf-8

from selenium import webdriver
import time
from time import sleep

chrome_opt = webdriver.ChromeOptions()
chrome_opt.add_argument('--disable-gpu')
driver = webdriver.Chrome(executable_path = r'C:\Users\Wu\AppData\Local\Google\Chrome\Application\chromedriver.exe',chrome_options = chrome_opt )


def test_driver():

    print ("当前浏览器为:",driver.name )

    url1 = "http://www.baidu.com"
    driver.get(url1)   # 访问URL1
    print ("当前访问URL:",driver.current_url)
    print ("当前URL标题为:",driver.title)

    time.sleep(5)
    url2 = "https://tieba.baidu.com" #访问URL2
    driver.get(url2) 
    print ("当前访问URL:",driver.current_url)
    print ("当前URL标题为:",driver.title)

    time.sleep(5)
    driver.back()  #返回
    print ("运行driver.back()")
    print ("当前访问URL:",driver.current_url)
    print ("当前URL标题为:",driver.title)
    
    time.sleep(5)
    driver.forward()  #前进
    print ("运行driver.forward()")
    print ("当前访问URL:",driver.current_url)
    print ("当前URL标题为:",driver.title)

    time.sleep(5)
    driver.set_window_size(900, 800)  #设置窗口大小
    print ("设置浏览器窗口值:",driver.get_window_size())

    time.sleep(5)
    driver.minimize_window() 
    print ("浏览器最小化:",driver.get_window_position())

    time.sleep(5)
    driver.maximize_window() 
    print ("浏览器最大化:",driver.get_window_size())

    time.sleep(5)
    driver.fullscreen_window()
    print ("浏览器全屏化:",driver.get_window_size())

    time.sleep(5)
    driver.set_window_position(720, 400)
    print ("浏览器位置:",driver.get_window_position())

    driver.close()

if __name__ == '__main__':
    test_driver()
  • 程序运行结果
当前浏览器为: chrome
当前访问URL: https://www.baidu.com/
当前URL标题为: 百度一下,你就知道
当前访问URL: https://tieba.baidu.com/
当前URL标题为: 百度贴吧——全球最大的中文社区
运行driver.back()
当前访问URL: https://www.baidu.com/
当前URL标题为: 百度一下,你就知道
运行driver.forward()
当前访问URL: https://tieba.baidu.com/
当前URL标题为: 百度贴吧——全球最大的中文社区
设置浏览器窗口值: {'width': 900, 'height': 788}
浏览器最小化: {'x': 10, 'y': 10}
浏览器最大化: {'width': 1382, 'height': 744}
浏览器全屏化: {'width': 1366, 'height': 768}
浏览器位置: {'x': 720, 'y': 400}
2、元素定位方法
  • WebDriver 常用的元素定位方法
编号定位方法定位单个元素定位多个元素
1IDfind_element_by_id(‘id值’)或find_element(by = ‘id’,vlalue = ‘id值’)
2namefind_element_by_name(‘name值’) 或find_element(by = ‘name’,vlalue = ‘name值’)find_elements_by_name(‘name值’) 或find_elements(by = ‘name’,vlalue = ‘name值’)
3classfind_element_by_class_name(‘class值’) 或find_element(by = ‘class name’,vlalue = ‘class值’)find_elements_by_class_name(‘class值’) 或find_elements(by = ‘class name’,vlalue = ‘class值’)
4HTML 标签名find_element_by_tag_name(‘tag名称’) 或find_element(by = ‘tag name’,vlalue = ‘tag名称’)find_elements_by_tag_name(‘tag名称’) 或find_elements(by = ‘tag name’,vlalue = ‘tag名称’)
5链接全部文字find_element_by_link_text(‘链接文字’)或 find_element(by = “link text”,value = ‘链接文字’)find_elements_by_link_text(‘链接文字’)或 find_elements(by = “link text”,value = ‘链接文字’)
6链接部分文字find_element_by_partial_link_text(‘链接文字’)或 find_element(by = “partial link text”,value = ‘链接文字’)find_elements_by_partial_link_text(‘链接文字’)或 find_elements(by = “partial link text”,value = ‘链接文字’)
7XPathfind_element_by_xpath(‘Xpath表达式’)或find_element(by = ‘xpath’ value = ‘Xpath表达式’)find_elements_by_xpath(‘Xpath表达式’)或find_elements(by = ‘xpath’ value = ‘Xpath表达式’)
8CSSfind_element_by_css_selector(‘CSS表达式’)或find_element(by = ‘css selector’ value = ‘CSS表达式’)find_elements_by_css_selector(‘CSS表达式’)或find_elements(by = ‘css selector’ value = ‘CSS表达式’)
  • 测试代码
# encoding = utf-8
import unittest
import time
from selenium.webdriver import ActionChains
from selenium import webdriver
 
class VisitSogouByIE(unittest.TestCase):

    def setUp(self):
        chrome_opt = webdriver.ChromeOptions()
        chrome_opt.add_argument('--disable-gpu')
        self.driver = webdriver.Chrome(executable_path = r'C:\Users\Wu\AppData\Local\Google\Chrome\Application\chromedriver.exe',chrome_options = chrome_opt )

        
    def test_doubleClick(self):
        url = "http://www.baidu.com"
        self.driver.get(url)
        self.driver.find_element_by_id("kw").send_keys("selenium")
        self.driver.find_element_by_id("su").click()
        time.sleep(3)

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值