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

企业网站开发常用的字体网站开发建议

企业网站开发常用的字体,网站开发建议,汉服设计制作培训,做进口假体下巴的网站Selenium#xff08;Web端自动测试#xff09; Selenium是一个用于Web应用程序测试的工具#xff1a;中文是硒 开源跨平台#xff1a;linux、windows、mac核心#xff1a;可以在多个浏览器上进行自动化测试多语言 Selenium WebDriver控制原理 Selenium Client Library…SeleniumWeb端自动测试 Selenium是一个用于Web应用程序测试的工具中文是硒 开源跨平台linux、windows、mac核心可以在多个浏览器上进行自动化测试多语言 Selenium WebDriver控制原理 Selenium Client Library:通过他们提供的库来编写脚本可以使用Java、Python等进行编写脚本JSON Wire Protocol是在HTTP服务器之间传输信息的REST风格的API。Browser Drivers浏览器驱动不同浏览器会有一个单独的浏览器驱动程序Browsers:Selenium 支持的浏览器Firefox、Chrome、IE、Safar等 安装环境 Python 3.5以上 安装PyCharm 安装selenium包(在pycharm或者cmd中) # 安装 pip install selenium# 卸载 pip uninstall selenium# 查看 pip show seleniumWebDriver安装 谷歌Driver国内镜像http://npm.taobao.org/mirrors/chromedriver/ 注意要去下载和自己电脑谷歌浏览器相匹配的版本 全局下载解压缩后可以将webdriver的路径配置到环境变量中方便使用 局部下载解压缩后将可执行文件放入到本地项目目录中 入门案例 import timefrom selenium.webdriver.chrome.service import Service from selenium import webdriver# 定义chrome驱动去地址 path Service(chromedriver.exe)# webdriver 获取浏览器对象 driver webdriver.Chrome(service path)# 准备一个网址 url https://www.baidu.com/ driver.get(url)# 模拟时间 time.sleep(5)# 回收资源 driver.quit()元素定位 普通定位 如百度的输入框输入文字后点击查询 通过ID定位那么可以在代码中进行定位 from selenium.webdriver.chrome.service import Service from selenium import webdriver from selenium.webdriver.common.by import By import time # 定义chrome驱动去地址 path Service(chromedriver.exe)# webdriver 获取浏览器对象 driver webdriver.Chrome(servicepath)# 准备一个网址 url https://www.baidu.com/ driver.get(url)# 根据id查询到元素发送关键词 driver.find_element(By.ID, kw).send_keys(阿卡丽)# 同理找到查询按钮的id执行click事件 driver.find_element(By.ID, su).click()time.sleep(5)# 回收资源 driver.quit()其他定位nametag_nameclass_name等 a标签定位 # 定位a标签 link_text | partial_link_text # 方式一完整 driver.find_element(By.LINK_TEXT, hao123).click()# 方式二模糊 driver.find_element(By.PARTIAL_LINK_TEXT, hao1).click()需要注意的是如果相同的规则会对应多个标签那么这些方法只会返回第一个标签除非使用的是find_elements()方法 CSS选择器定位 了解下CSS选择器基本知识 # 通过CSS选择器 # id driver.find_element(By.CSS_SELECTOR, #kw).send_keys(阿卡丽) # 属性选择器 driver.find_element(By.CSS_SELECTOR, [namewd]).send_keys(阿卡丽)xpath获取元素 xpathxml path # 通过XPAth定位 driver.find_element(By.XPATH, //*[idkw]).send_keys(阿卡丽) driver.find_element(By.XPATH, //*[idsu]).click()driver.find_element(By.XPATH, //*[text()hao123]).click()浏览器其他操作 # 设置最大化 driver.maximize_window()# 设置浏览器 宽高像素 driver.set_window_size(1920, 1080)# 设置窗口位置 driver.set_window_position(200, 200)# 刷新 driver.refresh()# 前进 driver.forward()# 后退 driver.back()# 关闭 当前页面 driver.close()# 关闭浏览器 driver.quit()# 获取浏览器属性 print(driver.title) print(driver.current_url)页面等待 某些html元素可能加载稍微慢些那么我们的测试脚本就需要进行页面等待完毕后再执行测试过程。 等待方式 强制等待不推荐 time.sleep(1)显示等待导包太多麻烦 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as ECWebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, //*[id1]/div/div[1]/div/div[2]/a[2]/img))) driver.find_element(By.XPATH, //*[id1]/div/div[1]/div/div[2]/a[2]/img).click()隐式等待 # 隐式等待等所有的元素 driver.implicitly_wait(5)元素操作 操作 clear() 清除文本send_keys() 模拟输入click() 单击元素 元素属性获取 size 返回元素大小text 获取元素文本get_attribute() 获取某个属性值is_display() 元素是否可见is_enabled() 元素是否可用 # 清除文本 driver.find_element(By.ID, kw).clear()print(driver.find_element(By.ID, kw).size) # 获取大小 print(driver.find_element(By.ID, kw).text) # 获取文本 print(driver.find_element(By.ID, kw).is_enabled()) # 是否可用 print(driver.find_element(By.ID, kw).is_displayed()) # 是否显示print(driver.find_element(By.XPATH, //*[text()新闻]).get_attribute(href)) # 获取属性########## {height: 43, width: 549}True True http://news.baidu.com/模拟鼠标操作 selenium模拟鼠标操作 创建ActionChains对象使用ActionChains对象的方法进行操作 context_click() 鼠标右击double_click() 鼠标双击drag_and_drop()拖动move_to_element() 悬停 通过perform()执行以上的鼠标操作方法 import timefrom selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import Bydriver webdriver.Chrome() url https://www.baidu.com/ driver.get(url)action ActionChains(driver)action.context_click(driver.find_element(By.ID, su)) # 右键 action.move_to_element(driver.find_element(By.CLASS_NAME, soutu-btn)) # 悬停 action.drag_and_drop(driver.find_element(By.ID,div1), driver.find_element(By.ID,div2)) # 拖拽把一个元素拖拽到另一个元素中# 执行 action.perform()time.sleep(5)driver.quit()键盘操作 send_keys() 在Keys类中封装了所有的键盘操作 实例 import timefrom selenium import webdriver from selenium.webdriver import Keys from selenium.webdriver.common.by import Bydriver webdriver.Chrome() url https://www.baidu.com/ driver.get(url)el driver.find_element(By.ID, kw) # 输入Python el.send_keys(Python) time.sleep(2)# ctrla 全选 el.send_keys(Keys.CONTROL, a) # 退格 el.send_keys(Keys.BACKSPACE)# 输入其他 el.send_keys(阿卡丽) time.sleep(2)el.send_keys(Keys.CONTROL, a) time.sleep(2) # 复制 el.send_keys(Keys.CONTROL, c)el.send_keys(Keys.CONTROL, a) time.sleep(2)# 粘贴 el.send_keys(Keys.CONTROL, v)time.sleep(5)driver.quit()下拉框 通过Select对象来处理记得导Select包 driver webdriver.Chrome() url https://manager.hezhuyun.net/driver.get(url) # 获取页面 下拉框并且转换为 Select对象 select Select(driver.find_element(By.ID, selectA))# 根据索引选择 select.select_by_index(2)# 根据value 值选择 select.select_by_value(bj)# 根据 option 文本选择 select.select_by_visible_text(广州)页面滚动 有些页面数据过多采用懒加载模式那么我们要选取一些懒加载元素就必须触发页面滚动让元素加载出来。 我们需要使用驱动来执行js的浏览器页面滚动代码来实现。 # 触发调动js代码 x轴不滚动 y轴向下滚动当y轴滚动超过屏幕时将自动到最底部 js_tr window.scrollTo(0,10000) # 触发调动js代码 driver.execute_script(js_tr)警告框 button idalertAAA onclickalert(我是警告框)我是警告框/buttondriver webdriver.Chrome() url file:///D:/environment/python-workspace/testPY/index.htmldriver.get(url)# 模拟一个弹框出现点击 alterAAA后出现了一个警告框 driver.find_element(By.ID, alertAAA).click()# 获取警告框对象 alert driver.switch_to.alert print(alert.text)time.sleep(2) # 确定 alert.accept() # 取消 # alert.dismiss()time.sleep(5)driver.quit()Frame切换 需要注意在一个网页中如果使用了iframe标签嵌套网页那么对于驱动来讲只能获取到当前的网页嵌套的内部网页一般无法去获取里面的元素。那么就需要用到了Frame切换 切换Frame后如果需要外部网页的元素那么还要再切换回去。 import timefrom selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Chrome() url https://mail.qq.comdriver.get(url)driver.implicitly_wait(2)# 原始页面的元素 print(driver.find_element(By.CLASS_NAME, login_pictures_title).text) # 切换至内部frame driver.switch_to.frame(login_frame) driver.find_element(By.ID, u).send_keys(100001)# 切换回原始页面里 driver.switch_to.default_content() # 原始页面的元素 print(driver.find_element(By.CLASS_NAME, login_pictures_title).text)time.sleep(5)driver.quit()当然还有 switch_to.parent_frame()方法可回到父级的frame中。 页面窗口切换 浏览器中的多标签页的切换。handle意为控制者在selenium中通过一个随机生成的UUID来标识某个窗口。 需要先获取到标签页的句柄 handle # 获取所有 driver.window_handles # 获取当前的 handle driver.current_window_handle# 切换 driver.switch_to.window(handleName)########################################实例########################################### import timefrom selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Chrome() url https://www.baidu.comdriver.get(url) driver.maximize_window()time.sleep(2) print(driver.window_handles)driver.find_element(By.ID, kw).send_keys(阿卡丽) driver.find_element(By.ID, su).click()driver.implicitly_wait(2) driver.find_element(By.XPATH, //*[id1]/div[1]/div[1]/div/div[1]/a[1]/img).click()# 关闭上一个 driver.close() # 由于现在只剩一个了直接选择第一个handle即可 driver.switch_to.window(driver.window_handles[0])driver.find_element(By.XPATH, //*[idsrcPic]/img).click()time.sleep(5) driver.quit()截图 # 获取文件截图 driver.get_screenshot_as_file(imgs.png)# 获取截图二进制数据流 bytes #driver.get_screenshot_as_png()Cookie处理 添加Cookie需要涉及到登录或其他业务必须添加时 driver.add_cookie({name:DBUSS, value:通过Chrome浏览器工具查看})
http://www.w-s-a.com/news/379575/

相关文章:

  • 企业网站成品源码邯郸做网站流程
  • 建设网站需要什么技术两个网站放在同一个服务器 备案
  • 焦作做网站推广天津网络关键词排名
  • siteserver cms网站访问量挂机宝可以做网站吗
  • 普宁网站建设公司网络商城设计
  • wordpress主题 外贸网站wordpress安装后输入帐号登不进去
  • 陕西省西安市建设局网站永登网站设计与建设
  • 广东网站设计招工.免费咨询贷款
  • 做试题网站在线做c 题的网站
  • 青岛发现51例阳性南京专业网站优化公司
  • 南昌建站如何上wordpress
  • 洛阳网站建设优惠公司建筑企业上市公司有哪些
  • 营销型网站建设营销型网站建设手机网站设计需要学什么
  • 在线视频网站 一级做爰片南通网站建设找哪家
  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度
  • 云互联的网站名字亚马逊雨林生物
  • 电商网站功能企查查企业信息查询网
  • 特色网站建设中国住房和城乡建设局官网
  • 长春市住房城乡建设厅网站做白酒网站
  • 自己的网站怎么做的成品免费ppt网站
  • 番禺区网站建设哪里有泰安公司
  • 网站制作详细过程网站开发最强工具
  • 孟村县做网站长春城投建设投资有限公司网站
  • 国家重大建设项目库网站wordpress安装 var
  • 供求信息网站建设报价网站制作 苏州