美文网首页
1、Selenium -- 环境配置与基本用法

1、Selenium -- 环境配置与基本用法

作者: 波罗的海de夏天 | 来源:发表于2020-04-24 14:33 被阅读0次

概要:

  • 应用场景
  • 环境配置
  • 基本应用
    • 基本定位
    • js定位
    • 鼠标事件
    • 屏幕截图

一、应用场景

  1. 爬虫;
  • 绕过登录(cookies)
  1. 自动化测试;
  • 模拟用户交互事件(UI)

二、环境配置

  1. chrome driver安装
  1. 环境安装:pip install selenium
  2. Selenium driver官方API文档:https://www.selenium.dev/selenium/docs/api/py/api.html#
  3. Selenium官方教程:https://selenium-python.readthedocs.io/

三、基本应用

  1. Selenium的基本定位方法
from selenium import webdriver
import time

# 自动驱动浏览器
driver = webdriver.Chrome('/Users/****/Desktop/git/AI_Lesson/chromedriver')
driver.get('https://www.baidu.com')

time.sleep(5)
# 关闭浏览器当前窗口
# driver.close()
# 关闭浏览器
driver.quit()
  1. 初识js定位
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

# 自动驱动浏览器
driver = webdriver.Chrome('/Users/****/Desktop/git/AI_Lesson/chromedriver')
driver.get('https://www.jd.com')

# 1、find_element_by_id
search_element = driver.find_element_by_id('key')
search_element.send_keys('小米手机')
search_element.send_keys(Keys.RETURN)

# 2、find_element_by_class_name
driver.find_element_by_class_name('cate_menu_lk').click()

# 3、find_element_by_link_text
driver.find_element_by_link_text('手机').click()

# 4、find_element_by_partial_link_text
driver.find_element_by_partial_link_text('个护').click()

# 5、find_element_by_xpath
driver.find_element_by_xpath('//*[@id="J_cate"]/ul/li[11]').click()

# 6、find_element_by_css_selector
driver.find_element_by_css_selector('#J_cate > ul > li:nth-child(4)').click()

time.sleep(5)
# 关闭浏览器当前窗口
# driver.close()
# 关闭浏览器
driver.quit()
  1. Selenium的鼠标事件
# 鼠标悬停
elem = driver.find_element_by_link_text('手机')
ActionChains(driver).move_to_element(elem).perform()
time.sleep(5)
old_phone = driver.find_element_by_link_text('老人机')
old_phone.click()
  1. 屏幕截图
# 直接截图
driver.save_screenshot("screenshot_01.png")
# 条件判断
handles = driver.window_handles
current_handle = driver.current_window_handle
for handle in handles:
    if handle != current_handle:
        # 关闭当前网页                                          
        driver.close()
        # 句柄切换
        driver.switch_to.window(handle)
        driver.save_screenshot('screenshot_02.png')




相关文章

网友评论

      本文标题:1、Selenium -- 环境配置与基本用法

      本文链接:https://www.haomeiwen.com/subject/ykrfwhtx.html