欢迎光临Fuwu360     登录 | 免费注册 |
按CTRL+D收藏,下次访问更方便
当前位置: 首页 > 编程 > Python > Python+Selenium+ChromeDriver之爬虫(或web测试)

浏览历史

Python+Selenium+ChromeDriver之爬虫(或web测试)

龙永超 / 2019-11-18

Python+Selenium+ChromeDriver之爬虫(或web测试)

要自动化测试Chrome谷歌浏览器,首先要下载chromedriver驱动

下载地址是http://npm.taobao.org/mirrors/chromedriver/

注意版本需与浏览器版本对应,否则在运行时会出错

下载后解压,然后把chromedriver文件复制到Python安装目录的Scripts下。以下是我的Windows上的Python环境,如果是Linux,则可以保存到/usr/local/bin/



基本上到此,驱动安装就ok了。下面开始上Python代码:

#! -*- encoding:utf-8 -*-
""" selenium操控谷歌浏览器访问网页 """
import platform
import time

from selenium.webdriver.chrome.service import Service
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
if platform.system() != 'Windows':
# 括号内填写 驱动路径 linux系统需要这样
driver_service = Service(r'/usr/local/bin/chromedriver')
driver_service.command_line_args()
driver_service.start()

chrome_options = webdriver.ChromeOptions()
# 解决DevToolsActivePort文件不存在的报错
chrome_options.add_argument('--no-sandbox')
# 指定浏览器分辨率
chrome_options.add_argument('window-size=1920x3000')
# 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--disable-gpu')
# 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('--hide-scrollbars')
# 不加载图片, 提升速度
chrome_options.add_argument('blink-settings=imagesEnabled=false')
# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
# chrome_options.add_argument('--headless')
# 如果要设置代理,请在这里设置代理ip和端口
# proxy_ip_port = '192.168.0.2:8081'
# chrome_options.add_argument(f"--proxy-server=http://{proxy_ip_port}")
# 初始化浏览器对象, 保存浏览器对象为实例属性,方便调用
browser = webdriver.Chrome(chrome_options=chrome_options)
try:
browser.get("https://www.baidu.com")
input = browser.find_element_by_id("kw")
input.send_keys("Python")
input.send_keys(Keys.ENTER)
wait = WebDriverWait(browser, 10)
wait.until(EC.presence_of_element_located((By.ID, "content_left")))
print(browser.current_url)
print(browser.get_cookies())
print(browser.page_source)
time.sleep(10)
finally:
browser.quit()
if platform.system() != 'Windows':
# 注意:在linux系统上需要这么做,不然会留下大量chrome进程,导致系统内存消耗光
driver_service.stop()

python操作谷歌浏览器做爬虫,做web测试,就算是入门了。就这么简单。




微信或浏览器扫码阅读
用户评论 (共0条评论)

暂时还没有任何用户评论

总计 0 个记录,共 1 页。
亲,赐个留言吧!
captcha