【Python selenium】
原文: http://106.13.73.98/__/137/ 安装:pip install selenium
使用 我们一般使用谷歌或者PhantomJS浏览器,本文将使用谷歌浏览器。 请根据你的谷歌浏览器版本,下载对应的驱动文件
案例:使用selenium操作谷歌浏览器登录QQ空间并获取好友动态页面内容 import time from selenium import webdriver # 创建浏览器的对象,通过该对象可以操作浏览器 from lxml import etree # 你也可以这样使用,来实现谷歌无头浏览器(就是让其在后台运行),固定写法: # from selenium.webdriver.chrome.options import Options # chrome_options = Options() # chrome_options.add_argument('--headless') # chrome_options.add_argument('--disable-gpu') # bro = webdriver.Chrome(executable_path=r'.chromedriver.exe',chrome_options=chrome_options) bro = webdriver.Chrome(executable_path=r'.chromedriver.exe') # executable_path:指定谷歌浏览器驱动文件路径,请先下载驱动 # 向QQ空间登录页面发送请求 bro.get(url='https://i.qq.com/') time.sleep(1) # 定位到指定的iframe bro.switch_to.frame('login_frame') # 因为QQ空间登录页面是多个页面合成的,因此我们要定位到要操作的页面上 # 这里我们定位的iframe就是填写QQ账号密码的那个小框框 # 点击账号密码登录 bro.find_element_by_id('switcher_plogin').click() time.sleep(1) # 填写账号密码 bro.find_element_by_id('u').send_keys('请使用你自己的QQ账号') # send_keys() 用于向标签内录入数据 time.sleep(1) bro.find_element_by_id('p').send_keys('请使用你自己的QQ密码') time.sleep(1) # 点击登录按钮 bro.find_element_by_id('login_button').click() time.sleep(1) # 如果你的浏览器也出现提示让你安装flash插件,请打开此注释 # bro.find_element_by_id('QZ_Body').click() # 点击个人中心 bro.find_element_by_id('aIcenter').click() time.sleep(1) # 把网页往下拉(用于获取更多好友动态信息),连拉3次 js = 'window.scrollTo(0,document.body.scrollHeight)' bro.execute_script(js) time.sleep(1) bro.execute_script(js) time.sleep(1) bro.execute_script(js) # 获取好友页面源码 page_text = bro.page_source # 注意:这里获取页面源码是非阻塞的,因此这一步骤的暂定等待是有必要的 time.sleep(3) # 开始解析获取好友动态 tree = etree.HTML(page_text) div_list = tree.xpath('//div[@class="f-info qz_info_cut"] | //div[@class="f-info"]') # 打印获取到的好友动态内容 for div in div_list: text = div.xpath('.//text()') text = ''.join(text) print(text) # 关闭浏览器 bro.quit() 关于 PhantomJS 浏览器 PhantomJS浏览器下载:https://download.csdn.net/download/qq_41964425/10909314
由于
截屏功能的简单示例: from selenium import webdriver # 创建浏览器的对象,通过该对象可以操作浏览器 path = r'.phantomjs-2.1.1-windowsbinphantomjs.exe' browser = webdriver.PhantomJS(executable_path=path) # executable_path:指定PhantomJS浏览器的.exe文件 # 向百度页面发送请求 browser.get(url='https://www.baidu.com/') # 开始截屏 browser.save_screenshot('截屏文件.jpg') # !! # 退出浏览器 browser.quit() 但由于
原文: http://106.13.73.98/__/137/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |