python自动化Selenium的使用

python自动化Selenium的使用

Selenium是一个自动化测试框架,用于模拟和控制浏览器操作,支持多种编程语言。它可以模拟人类用户在浏览器上的操作(如点击、滚动、输入等),并检查网页内容和元素的属性。Selenium可用于对网站进行功能测试、性能测试、兼容性测试等。Selenium包含三个主要组件:

  1. Selenium IDE: Selenium IDE是一个基于浏览器的插件,用于录制和回放用户操作,可以生成自动化脚本,适用于初学者。

  2. Selenium WebDriver: Selenium WebDriver是一个可以直接控制浏览器的工具,提供了多种编程语言的接口,可以在不同的浏览器上进行测试。

  3. Selenium Grid: Selenium Grid是一个分布式测试工具,可以将测试用例分发到不同的计算机上进行测试,提高测试效率。

Selenium的主要优点包括:跨平台、多浏览器支持、灵活性高、可扩展性好、开放源代码等。

selenium的安装和使用

  1. 下载google驱动包

    从淘宝镜像下载合适的驱动包,解压驱动包到合适的位置。找不到驱动可以从官方获取驱动。

  2. 使用pip安装selenium

    pip install selenium

  3. 示例baidu_selenium.py

import time
from selenium import webdriver

# 创建浏览器对象
browser = webdriver.Chrome('chromedriver.exe')
# 访问百度网站,如京东默认会校验是否真实浏览器访问
url = 'https://www.baidu.com/'
browser.get(url)
time.sleep(2)

# 获取文本框对象,在文本框中输入刘晓雪
input = browser.find_element_by_id('kw')
input.send_keys('刘晓雪')
time.sleep(2)
# 获取百度一下的按钮后点击
button = browser.find_element_by_id('su')
button.click()
time.sleep(2)
# 滑到底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(2)
# 获取下一页按钮
next = browser.find_element_by_xpath('//a[@class="n"]')
next.click()
time.sleep(2)
# 回到上一页
browser.back()
time.sleep(2)
# 回去
browser.forward()
time.sleep(3)
# 退出
browser.quit()
# content = browser.page_source
# input = browser.find_element_by_id('id')
# input.get_attribute('class') 获取属性
# browser.find_element_by_class_name('className')
# browser.find_element_by_name('input')
  1. 示例no_page_selenium.py
# PhantomJS已不推荐使用
# browser = webdriver.PhantomJS('path')
# url = 'https://www.baidu.com'
# browser.get(url)
# browser.save_screenshot('baidu.png')
# time.sleep(2)
# browser.quit()

# 无界面的浏览器,不进行css和gui的渲染、运行效率高,Phantomjs和Chrome handless
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置选项
def share_browser():
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    # chrome浏览器的路径
    path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
    chrome_options.binary_location = path
    browser = webdriver.Chrome(chrome_options=chrome_options)
    return browser

browser = share_browser()
# 设置浏览器最大化显示
browser.maximize_window()
url = 'https://www.baidu.com'
browser.get(url)
browser.save_screenshot('baidu.png')

你可能感兴趣的:(python,python,自动化,selenium)