2.Selenium驱动浏览器

Selenium驱动浏览器

1)下载与安装

  • 下载Chrome的驱动(注意版本匹配):http://chromedriver.storage.googleapis.com/index.html
  • 下载selenium:使用Pychorm下载

2)基本操作

# (1)导入:from selenium import webdriver
#          from selenium.webdriver.common.by import By
# (2)创建谷歌浏览器操作对象:
#     path = 谷歌浏览器驱动文件路径
#     browser = webdriver.Chrome(path)
# (3)访问网址
#     url = 要访问的网址
#     browser.get(url)

元素定位

1.find_element
根据id获取按钮【常用】
    eg:button = browser.find_element(By.ID, "su")
根据name属性名称获取按钮
	eg:browser.find_element(By.NAME, "wd")
根据xpath【常用】
	eg:browser.find_element(By.XPATH, "//input[@id='su']")
根据标签名称
	eg:browser.find_element(By.TAG_NAME, "input")
根据BeautifulSoup的语法【常用】
	eg:browser.find_element(By.CSS_SELECTOR, "#su")
根据链接的文本的语法
	eg:browser.find_element(By.LINK_TEXT, "图片")

访问元素信息

获取元素属性
    .get_attribute('class')
获取元素文本
    .text
获取标签名
    .tag_name

案例:操作浏览器搜索周杰伦

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
path = "driver_file/chromedriver.exe"

browser = webdriver.Chrome(path)

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_button = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_button)
time.sleep(2)

# 点击下一页按钮
next = browser.find_element(By.XPATH, '//a[@class="n"]')
next.click()
time.sleep(2)

# 撤回
browser.back()
time.sleep(2)

# 重做
browser.forward()

# 退出浏览器
browser.quit()

3)性能优化:Chrome handless

系统要求

Chrome
    Unix\Linux 系统需要 chrome >= 59
    Windows 系统需要 chrome >= 60
Python3.6
Selenium==3.4.*
ChromeDriver==2.31

标准配置并封装:仅仅需要修改path路径

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')
    # 浏览器的安装路径 打开文件位置
    # 这个路径是你谷歌浏览器的路径
    path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
    chrome_options.binary_location = path

    browser = webdriver.Chrome(chrome_options=chrome_options)

    return browser
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值