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

江苏同隆建设集团有限公司网站外贸建站的公司

江苏同隆建设集团有限公司网站,外贸建站的公司,罗湖建网站公司,wordpress重写插件一.Selenium概述 1.1 什么是框架? 框架#xff08;framework#xff09;是一个框子——指其约束性#xff0c;也是一个架子——指其支撑性。是一个基本概念上的 结构用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计#xff0c;表现为一组抽象构件及…一.Selenium概述 1.1 什么是框架? 框架framework是一个框子——指其约束性也是一个架子——指其支撑性。是一个基本概念上的 结构用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计表现为一组抽象构件及构件实例间交互的方法;另一种定义 认为框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 框架其实就是某种应用的半成品就是一组组件供你选用完成你自己的系统。简单说就是使用 别人搭好的舞台你来做表演。 1.2 为什么使用框架? 1)自己从头实现太复杂 2)使用框架能够更专注于业务逻辑加快开发速度 3)框架的使用能够处理更多细节问题 4)使用人数多稳定性扩展性好 1.3 Selenium 工作原理 二.Selenium API基础 1.前提操作 (1)导入库 from selenium import webdriver (2)创建浏览器对象 driverwebdriver.Chrome() #创建浏览器对象 谷歌浏览器 driver.get(https://www.baidu.com/) #访问网址 百度2.方法 我们需要使用dir()来查看方法 print(dir(driver)) (1) 调整浏览器的尺寸 driver.maximize_window() #窗口最大化 print(driver.get_window_size()) #获取浏览器尺寸 {‘height’: 1020, ‘width’: 945} driver.set_window_size(width‘1200’,height‘1000’) #设置浏览器尺寸 (2) 调整浏览器的位置 print(driver.get_window_position()) #获取浏览器位置 {x: 10, y: 10}print(driver.set_window_position(100,100)) #设置浏览器位置(3) 获取当前页面的url print(driver.current_url) #https://www.baidu.com/ (4) 获取当前页面的title print(driver.title) #百度一下你就知道 (5) 刷新页面 driver.refresh() (6) 返回上一页/下一页 driver.back() #上一页 driver.forward() #下一页 (7) 保存图片 #方式一: datadriver.get_screenshot_as_png() with open(‘111.jpg’,‘wb’) as f: f.write(data) #方式二: driver.get_screenshot_as_file(‘222.jpg’) (8) 查看网页源码 print(driver.page_source) (9) 关闭网页 driver.close() #关闭当前页面 driver.quit() #关闭所有页面 3.元素定位 # 方式一: driver.find_element_by_xxx(value) # 方式二:driver.find_element(By.xxx,value) # 1.id inputdriver.find_element_by_id(kw) input.send_keys(12306) # 2.class inputdriver.find_element_by_class_name(s_ipt) input.send_keys(12306) # 3.name inputdriver.find_element_by_name(wd) input.send_keys(12306) # 4.xpath inputdriver.find_element_by_xpath(//*[idkw]) input.send_keys(12306) # 5.css inputdriver.find_element_by_css_selector(#kw) input.send_keys(12306) # 6.link_text 全匹配 newsdriver.find_element_by_link_text(新闻) news.click() # 7.partial_link_text 模糊匹配 newsdriver.find_element_by_partial_link_text(闻) news.click() # 8.tag name 标签名 putdriver.find_element_by_tag_name(span) put.click()三.Selenium API高级 3.1 页面跳转 from selenium import webdriver driverwebdriver.Chrome() driver.get(http://bj.58.com) # 获取当前页面的句柄h1driver.window_handles print(58同城:,h1) # 定位元素 宠物 adriver.find_element_by_link_text(宠物) # 点击宠物 a.click() # 获取点击跳转之后的句柄 h2driver.window_handles print(宠物:,h2) # 跳转句柄 driver.switch_to.window(h2[1]) # 定位元素 宠物狗 dogdriver.find_element_by_xpath(/html/body/div[3]/div[1]/dl[1]/dd[1]/a/strong) # dogdriver.find_element_by_link_text(宠物狗) dog.click() # 获取点击跳转之后的句柄 h3driver.window_handles print(宠物狗:,h3) # 跳转句柄 driver.switch_to.window(h3[2])# 定位元素 smalldriver.find_element_by_css_selector(#selection dl:nth-child(1) dd a:nth-child(6)) small.click()3.2 表单跳转 from selenium import webdriver import time driverwebdriver.Chrome() driver.get(https://qzone.qq.com/) #访问qq空间页面 driver.maximize_window() #窗口最大化#定位表单 framedriver.find_element_by_id(login_frame) # 表单跳转 driver.switch_to.frame(frame) time.sleep(2) # 点击密码登录 driver.find_element_by_link_text(密码登录).click() time.sleep(2) # 输入账号 driver.find_element_by_id(u).send_keys(1720003909) time.sleep(2) # 输入密码 driver.find_element_by_id(p).send_keys(xqy20001220) time.sleep(2) # 点击登录 driver.find_element_by_id(login_button).click() # 关闭页面 driver.close()3.3 弹出框操作 #进入弹出框driver.switch_to.alert #接收警告accept() #解散警告dismiss() #发送文本到警告框send_keys(data) 代码:from selenium import webdriver import timedriverwebdriver.Chrome() driver.get(https://www.baidu.com/)# 定位 设置 setdriver.find_element_by_id(s-usersetting-top) set.click()# 定位 搜索设置 searchdriver.find_element_by_xpath(//*[ids-user-setting-menu]/div/a[1]/span) search.click()# 定位 每页20条 pagedriver.find_element_by_xpath(/html/body/div[1]/div[6]/div/div/div/div[1]/form/div/ul/li[3]/span[2]/span[2]/label) page.click()# 定位 保存设置 savedriver.find_element_by_css_selector(#se-setting-7 a.prefpanelgo.setting-btn.c-btn.c-btn-primary) save.click()time.sleep(2) driver.switch_to.alert.accept() #弹框处理 # driver.switch_to.alert.dissmiss() #弹框处理3.4 滚动条操作 from selenium import webdriver import timedriverwebdriver.Chrome() driver.get(http://bj.58.com)time.sleep(3) # 滚动条到底部 # jsvar qdocument.documentElement.scrollTop10000 js window.scrollTo(0,document.body.scrollHeight) driver.execute_script(js) #执行jstime.sleep(3) # 顶部 jswindow.scrollTo(0,0) driver.execute_script(js)time.sleep(3) # 移动到指定元素 target driver.find_element_by_xpath(/html/body/div[3]/div[1]/div[1]/div/div[2]/div[2]/a[13]) #定位移动到的元素 driver.execute_script(arguments[0].scrollIntoView();, target) target.click()3.5 鼠标键盘操作 from selenium import webdriver from selenium.webdriver import ActionChains #鼠标操作 from selenium.webdriver.common.keys import Keys #键盘操作 import timedriverwebdriver.Chrome() driver.get(https://www.baidu.com/)# 定位元素 更多 moredriver.find_element_by_link_text(更多)#鼠标操作 ActionChains(driver).click(more).perform() #鼠标左击 ActionChains(driver).context_click(more).perform() #鼠标右击 ActionChains(driver).move_to_element(more).perform() #鼠标悬浮#键盘操作 srk driver.find_element_by_id(kw) srk.send_keys(12306) time.sleep(2) srk.send_keys(Keys.CONTROL,a) srk.send_keys(Keys.CONTROL,x) time.sleep(2) srk.send_keys(Keys.CONTROL,v)3.6 下拉框操作 from selenium import webdriverdriverwebdriver.Chrome() driver.get(https://www.baidu.com/)driver.maximize_window()# 定位元素 设置按钮 setdriver.find_element_by_id(s-usersetting-top) set.click()# 定位元素 高级搜索 finddriver.find_element_by_xpath(//*[ids-user-setting-menu]/div/a[2]/span) find.click()# 定位元素 全部时间 timedriver.find_element_by_class_name(c-select-selected-value) time.click()# 定位元素 最近一月 mdriver.find_elements_by_class_name(c-select-item)#方式一: m[3].click()#方式二 for i in m:if i最近一月:i.click()3.7 等待操作 (1)强制等待import time #强制等待:无论网络是否良好,必须等待对应的时间,才会执行下面的代码 time.sleep(3) (2) 隐式等待driver.implicitly_wait(100) #隐式等待,当前界面的所有元素全部加载完成,才会执行下面的代码 (3) 显示等待from selenium.webdriver.support.wait import WebDriverWait #导入显性等待的包 from selenium.webdriver.support import expected_conditions as EC #判断所需要的元素是否已经被加载出来 from selenium.webdriver.common.by import By #定位# 定位元素 设置按钮 WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.ID,s-usersetting-top))) setdriver.find_element_by_id(s-usersetting-top) set.click()四.Selenium IDE 4.1 什么是Selenium IDE? Selenium的IDE(集成开发环境)是一个易于使用的Firefox插件,用于开发Selenium测试案例。 它提供了一个图形用户界面用于记录使用Firefox浏览器用来学习和使用Selenium用户操作 但它只能用于只用Firefox浏览器不支持其它浏览器 4.2 IDE功能简介 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.zqtcl.cn/news/591883/

相关文章:

  • 做流程图表的网站网络营销推广网站收录
  • iis5.1怎么新建网站电子商务网站建设与管理实训内容答案
  • 做网站背景步骤知名的vi设计公司
  • 中国室内设计师联盟网站我注册过的网站
  • 如何给自己的公司做网站网站设计电商首页
  • 成都网站开发培训综合网站开发实训总结
  • 个人备案网站名称文学网站开发
  • 花钱做推广广告哪个网站好泗洪网页设计
  • 望牛墩镇网站建设公司网站建设企业熊掌号
  • 做网站一般会出现的问题静态网站的好处就是安全性好从而
  • 做海鲜代理在什么网站建筑网片钢筋网生产厂家
  • 万网网站建设方案书导购网站开发要多少钱
  • 做网站muse好还是DW好用wordpress %link
  • html5门户网站模版做投标需要知道什么网站
  • 合肥网站制作推广seo引擎搜索网站关键词
  • 陕西建设厅网站wordpress 不显示ip
  • 郑州外贸网站制作营销号视频生成器手机版
  • 绵阳市建设工程质量监督站网站wordpress的插件目录
  • 建设和管理环保网站西安做兼职网站设计
  • 在网站中写小说想要删除如何做婚纱摄影的网站怎么做
  • 重庆自适应网站建设wordpress添加icon文件
  • 目前小说网站排名适合网站设计的gif图片
  • 深圳建立网站wordpress 安装语言
  • 南京做中英文网站海南网站建设哪家专业
  • 做网站用jquerywordpress邮件有什么用
  • 上海网站建设免the 7 wordpress
  • 知名建站的公司微信企业app手机下载安装
  • 鹤山做网站羊毛网站建设视频
  • 图书类网站开发的背景建筑培训机构
  • 外贸网站建设制作wordpress管理员页面404