当前位置: 首页 > news >正文

网站建设 发短信文案系统开发生命周期一般划分为哪几个阶段?

网站建设 发短信文案,系统开发生命周期一般划分为哪几个阶段?,做的网站 如何在局域网内访问,史志部门建设网站 说明Selenium是一个自动化测试框架#xff0c;主要用于Web应用程序的自动化测试。它可以模拟用户在浏览器中的操作#xff0c;如打开网页、点击链接、填写表单等#xff0c;并且可以在代码中实现条件判断、异常处理等功能。Selenium最初是用于测试Web应用程序的#xff0c;但也…Selenium是一个自动化测试框架主要用于Web应用程序的自动化测试。它可以模拟用户在浏览器中的操作如打开网页、点击链接、填写表单等并且可以在代码中实现条件判断、异常处理等功能。Selenium最初是用于测试Web应用程序的但也可以用于其他用途如爬取网站数据、自动化提交表单等。Selenium支持多种编程语言如Java、Python、C#等同时也支持多种浏览器如Chrome、Firefox、Safari等。 该工具在使用时需要安装两个模块首先读者需要自行安装selenium包并且需下载与对应浏览器匹配的驱动程序。 安装PIP包pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple安装驱动程序https://chromedriver.storage.googleapis.com/index.html 我们以Google浏览器为例此处本人的版本为112.0.5615.12132 位根据该版本下载对应的驱动程序并将驱动程序放入到Google浏览器根目录下如下图所示此时的驱动就已经安装成功了 21.9.1 模拟打开页面 当需要使用浏览器模拟时首先我们要调用webdriver.Chrome(executable_pathWebPath)函数并传入驱动程序路径此时即可打开驱动程序与谷歌浏览器链接接着就可以通过各类函数操控浏览器行为。 from selenium import webdriver from selenium.webdriver.common.by import ByWebPath C:/Users/admin/AppData/Local/Google/Chrome/Application/chromedriver.exeif __name__ __main__:driver webdriver.Chrome(executable_pathWebPath)# 设置窗口大小为1275*765driver.set_window_size(1275, 765)# 设置窗体为全屏driver.maximize_window()# 获得窗口大小get_size driver.get_window_size()print(获取窗口大小: {}.format(get_size))# 获取当前窗体句柄handle driver.current_window_handleprint(当前句柄: {}.format(handle))# 打开链接并得到页面源代码url https://www.baidu.comdriver.get(url)url_source str(driver.page_source)# print(页面源代码: {}.format(url_source))# 定位a标签并点击,跳转到贴吧click_url driver.find_element(By.XPATH, //*[ids-top-left]/a[4])click_url.click()# 打开页面后输出所有窗体句柄all_handles driver.window_handlesprint(当前所有窗体句柄 {}.format(all_handles))input(输入回车结束)driver.quit()上述代码片段中首先通过set_window_size()函数将浏览器页面设置为1275*765接着再调用maximize_window()设置为全屏通过得到当前窗体句柄并通过get()函数让浏览器打开一个页面最后通过xpath语法定位到//*[ids-top-left]/a[4]标签贴吧上并点击鼠标左键打开页面后并输出所有窗体如下图所示 21.9.2 切换窗体句柄 如上代码执行后虽然打开了百度百科但是窗体的句柄其实还是停留在了百度首页上定位的元素还是在百度上此时我们就需要切换窗体句柄也就是将当前句柄切换到百度贴吧页面上此时才可读取该页面的完整源代码信息。 我们通过使用all_handles[-1]的方式切换到最后一个窗体上也就是对应的百度贴吧页面接着再执行switch_to.window(new_handle_tieba)函数实现窗口句柄的切换功能代码如下所示 from selenium import webdriver from selenium.webdriver.common.by import ByWebPath C:/Users/admin/AppData/Local/Google/Chrome/Application/chromedriver.exeif __name__ __main__:driver webdriver.Chrome(executable_pathWebPath)# 设置窗口大小为1275*765driver.set_window_size(1275, 765)# 打开链接并得到页面源代码url https://www.baidu.comdriver.get(url)# 定位a标签并点击,跳转到贴吧click_url driver.find_element(By.XPATH, //*[ids-top-left]/a[4])click_url.click()# 打开页面后输出所有窗体句柄all_handles driver.window_handlesprint(当前所有窗体句柄 {}.format(all_handles))# 从所有句柄的集合中,获取最后那个,也就是最新的new_handle_tieba all_handles[-1]# 执行切换操作driver.switch_to.window(new_handle_tieba)# 切换后查看现在的句柄now_handles driver.current_window_handleprint(贴吧窗体句柄 {}.format(now_handles))# 得到贴吧源代码url_source str(driver.page_source)print(url_source)input(输入回车结束)driver.quit()运行后读者可自行查询当前句柄所在位置如下图所示 21.9.3 前进后退刷新 在控制页面是我们可能需要使用页面前进后退与刷新功能前进时可以调用driver.forward()函数实现后退调用driver.back()函数而刷新则可调用driver.refresh()函数功能如下案例所示 from selenium import webdriver from selenium.webdriver.common.by import ByWebPath C:/Users/admin/AppData/Local/Google/Chrome/Application/chromedriver.exeif __name__ __main__:driver webdriver.Chrome(executable_pathWebPath)# 设置窗口大小为1275*765driver.set_window_size(1275, 765)# 打开链接driver.get(urlhttps://www.baidu.com)driver.get(urlhttps://www.lyshark.com)# 后退上一页,等待3秒driver.implicitly_wait(3)driver.back()# 前进下一页,等待3秒driver.implicitly_wait(3)driver.forward()# 刷新页面,等待3秒driver.implicitly_wait(3)driver.refresh()# 获取当前页面句柄,并切换过去handle driver.current_window_handledriver.switch_to.window(handle)# 得到源代码url_source str(driver.page_source)print(url_source)# 关闭当前窗口driver.close()input(输入回车结束)driver.quit()运行后读者可自行观察输出效果如下图所示 21.9.4 自动页面采集 如下是一个综合案例在案例中我们通过使用三种解析库实现了对百度页面中特定关键字的采集当运行后读者可自行判断是否存在安全验证如果存在可自行手动绕过检测并输入y此时即可实现关键字的采集当采集完成后自动柏村委html格式文件。 import re,argparse,requests from selenium import webdriver from bs4 import BeautifulSoup from queue import QueueWebPath C:/Users/admin/AppData/Local/Google/Chrome/Application/chromedriver.exeif __name__ __main__:parser argparse.ArgumentParser()parser.add_argument(--search,destsearch,help输入要搜索的语法,inurl:lyshark)args parser.parse_args()if args.search:driver webdriver.Chrome(executable_pathWebPath)driver.set_window_size(1024,768)queue Queue()# 生成链接for item in range(0,1000,10):queue.put(https://www.baidu.com/s?wd{}pn{}.format(str(args.search),str(item)))# 每次吐出一个for item in queue.queue:driver.get(item)ret str(driver.page_source)# 是否有验证if driver.title 百度安全验证:print(请用户完成验证,并输入y: )is_true input()if is_true ! y:driver.close()soup BeautifulSoup(ret,html.parser)urls soup.find_all(namea,attrs{data-click:re.compile((.)),class:None})for item in urls:try:get_url requests.get(urlitem[href],headershead,timeout5)print(get_url)if get_url.status_code 200:title re.findall(title(.)/title, get_url.text)print([] 抓取URL: {} 抓取标题: {}.format(get_url.url,title))with open(save.html,a) as fp:fp.write(a href{}{}/abr.format(get_url.url,title))except Exception:passelse:parser.print_help()运行上述代码读者可观察输出效果此时会自动抓取特定页面中的链接并存储到本地
http://www.tj-hxxt.cn/news/136689.html

相关文章:

  • 文化馆网站建设的意义菏泽市建设局网站
  • 普陀区网站建设公司哪家好360免费建站官网入口
  • 加强网站基础建设ui设计一般用什么软件
  • 网站式小程序哪个网站可以做代码题目
  • 校园淘宝店网站开发室内设计的软件有哪些
  • 设计的网站都有哪些网站建设合理化建议方案
  • 招聘网站怎么做市场温州企业模板建站
  • 安县移动网站建设网站名称需要用注册吗
  • cdn如何做网站备案网页课程设计
  • 青岛网站关键字优化专业制作公众号公司
  • 手表价格网站广州中学生网站制作
  • 福建省住房和城乡建设网站上海 网站建设 案例
  • 广东专业的网站制作平顶山市建设局网站
  • 网站建设需要照片吗网站建设与规划心得
  • php网站开发方案wordpress极客式主题
  • 深圳网站的优化公司哪家好wordpress apply_filter
  • 做西餐网站怎样查找网站域名
  • 孝感网站推广攻击asp网站
  • 俄语好网站设计家居网站建设策划
  • 网站页脚的信息都有什么别人做的网站自己想更新
  • 网易严选的网站建设马鞍山做网站公司排名
  • 手机网站有什么区别是什么怎么样自己做百度网站
  • 提供做网站企业做网站要注意哪一点
  • 长沙企业网站制作哪家好平面广告设计要学的软件
  • 蚌埠网站建设公司cztv西安地区网站建设
  • 花都移动网站建设吴中区网站建设技术
  • 网站开发证书要求网站seo设计方案案例
  • 网站界面设计的发展阿里云虚拟主机与网站吗
  • 定制型和模板型网站什么平台可以免费打广告
  • 网站seo优化要懂得做微调thinkphp3.2 企业网站源码