selenium+re 爬虫实战(一)

2020-05-12  本文已影响0人  阿尼奥赛哟

1.chrome参数设置不打开web界面

2. 使用正则表达式匹配文字规则

3. 使用findall函数匹配正则并输出所需文字

from seleniumimport webdriver

import re

chrome_options=webdriver.ChromeOptions()  # 创建浏览器参数设置的对象

chrome_options.add_argument("--headless")    # 设置参数--headless,运行时不会弹出浏览器

driver= webdriver.Chrome('C:\\chromedriver.exe',options=chrome_options)

driver.get("http://www.cnblogs.com/yoyoketang/")

page= driver.page_source  #输出web页面展示内容

print(page)

pattern= re.compile(r'<a class="postTitle2" href=".*?">\s(.*?)</a>' 

                    r'.*?<div class="c_b_p_desc">(.*?)</div>',re.S)

url=pattern.findall(page)

print(url)

#输出结果

('[置顶]2020年第三期《python接口自动化+测试开发》课程,4月5号开学(火热报名中!)\n','\n摘要:2020年第三期《python接口自动化+python测试开发》课程,4月5号开学(火热报名中!)主讲老师:上海悠悠上课方式:QQ群视频在线教学,方便交流本期上课时间:4月5号6月27号,每周六、周日晚上20:3022:30报名费:报名费3000一人(周期3个月)联系QQ:28334<ahref="https://www.cnblogs.com/yoyoketang/p/12417056.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('[置顶]《2019测试面试题-上海悠悠.pdf》\n','\n摘要:前言面试测试岗位一般会有笔试题,笔试题考SQL和编程基础比较多,小编最近收集了多家公司的测试面试题,整理成一个文档供大家参考。2018年下半年一直不太平,听到最多的就是“p2p暴雷”,“xx平台跑路”,紧接着年底就是“裁员”、“xx部门就地解散”、“欠薪”,很多小伙伴已经提前回家准备过冬了,等待<ahref="https://www.cnblogs.com/yoyoketang/p/10302295.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习8-Cookies使用\n','\n摘要:前言cy.getCookie()根据cookie的name名称,获取对应cookie的value值cy.getCookies()获取浏览器全部cookiescy.setCookie()也可以给浏览器,自己添加cookiecy.clearCookies()清空全部coo<ahref="https://www.cnblogs.com/yoyoketang/p/12876966.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习7-连接器connectors\n','\n摘要:前言关于web页面上的选项,通常我们需要断言选项的个数,遍历每个选项的内容..each().its()判断选项里面元素个数.invoke()隐藏元素判断定位隐藏元素,对异常隐藏的判断.spread()遍历arr依次断言.then()要使用当前主题调用回调函数,请使用.the<ahref="https://www.cnblogs.com/yoyoketang/p/12875360.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习6-Assertions断言使用(should,expect)\n','\n摘要:前言每个测试用例需要加断言,Cypress里面断言常用的有should,expect隐式断言.should()可以使用.should()给当前用例加断言should(\'have.class\',\'success\')断言元素的class属性值是\'success\'should(\'hav<ahref="https://www.cnblogs.com/yoyoketang/p/12872094.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习5-table表格元素(别名使用Aliasing)\n','\n摘要:前言页面上有些元素定位路径比较复杂,可以先定位到该元素使用别名,通过这个别名去操作元素,这样看起来简洁一些。.as()使用别名定位元素table表格上的元素定位使用示例//ThefollowingDOMcommandchainisunwieldy.//Toavoidre<ahref="https://www.cnblogs.com/yoyoketang/p/12871996.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习4-操作页面元素(Actions行为事件)\n','\n摘要:前言ui自动化操作页面上的元素,常用的方法就那么几个,输入文本,点击元素,清空文本,点击按钮。还有一些特殊的checkbox,radio,滚动条等。.type()往输入框输入文本元素.focus()要聚焦DOM元素,请使用.focus()命令.blur()判断输入框是必填项.cle<ahref="https://www.cnblogs.com/yoyoketang/p/12870547.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习3-登录web网站案例脚本\n','\n摘要:前言先从第一个登录页面的案例开始,写一个登陆案例的脚本示例,这里以禅道网站登录为例。登录脚本脚本实现功能:输入用户名,断言输入框输入成功输入密码,断言输入成功点登陆按钮断言1判断页面重定向跳转到首页断言2判断页面包含某个文件断言3判断登录成功后,cookie存在login_<ahref="https://www.cnblogs.com/yoyoketang/p/12873091.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习2-pycharm写第一个脚本\n','\n摘要:前言Cypress是javascript语言写的,写js脚本可以用pycharm编辑器上直接编写。以第一个百度页面搜索框为案例编写一个可以运行的脚本pycharm导入工程上一篇新建的项目目录在D:\\CypresspycharmFileOpenD:\\Cypress\\cypress导入<ahref="https://www.cnblogs.com/yoyoketang/p/12868279.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('Cypress学习1-windows环境npm安装Cypress\n','\n摘要:前言web技术已经进化了,web的测试技术最终还是跟上了脚步,新一代的web自动化技术出现了?Cypress可以对在浏览器中运行的任何东西进行快速、简单和可靠的测试。"Thewebhasevolved.Finally,testinghastoo.Fast,easyandr<ahref="https://www.cnblogs.com/yoyoketang/p/12860329.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('pytest文档39-参数化(parametrize)结合allure.title()生成不同标题报告\n','\n摘要:前言pytest的参数化(parametrize)可以实现只需维护测试数据,就能生成不同的测试用例目的。可以在参数化的时候加ids参数对每个用例说明使用场景。最终我们希望在allure报告上能详细的展示出每个用例的标题描述,这样才能更直观的知道每个用例是干什么的。参数化parametr<ahref="https://www.cnblogs.com/yoyoketang/p/12853605.html"class="c_b_p_desc_readmore">阅读全文</a>\n') ('pytest文档38-allure.step()添加测试用例步骤\n','\n摘要:前言一般流程性的测试用例,写成自动化用例时,步骤较多写起来会比较长。在测试用例里面添加详细的步骤有助于更好的阅读,也方便报错后快速的定位到问题。举个常见的测试场景用例:从登陆开始,到浏览商品添加购物车,最后下单支付用例步骤:1.登陆,2.浏览商品3.添加购物车4.生成订单5.支付成功<ahref="https://www.cnblogs.com/yoyoketang/p/12846418.html"class="c_b_p_desc_readmore">阅读全文</a>\n')

上一篇 下一篇

猜你喜欢

热点阅读