赞
踩
bing网站搜索关键词-selenium基础脚本实例
- # bing网站搜索关键词-selenium基础脚本实例
-
- # 导入类库
- from selenium import webdriver
- # 打开谷歌浏览器
- driver=webdriver.Chrome()
- # 访问url
- driver.get('https://cn.bing.com/')
- # 定位输入框,搜索关键词
- driver.find_element_by_id("sb_form_q").send_keys('男')
- # 点击搜索按钮
- driver.find_element_by_id("search_icon").click()
- # 关闭浏览器
- driver.close()
前台购物流程
会用到的语法
1.窗口最大化 driver.maxmize_window()
2.导包的快捷键:alt+enter
3.元素定位方法(7种)
优先顺序:id-name-classname-linktest
id
name
class
linktest:<a>可以是linktest标签
xpath: 比较万能的方法是xpath,前面四种方法不好使,再使用第五种xpath
css selector:
1可以通过多个属性来定位,不需要分辨哪个class是唯一的,在两个class定位值,分别加一个.
driver.find_element_by_css_selector(".shopCar_btn_03.fl").click()
2通过css_selector可以用任意的属性来定位元素,只需要在属性的两边加上一对中括号即可
driver.find_element_by_css_selector('[value="2"]').click()
partial_link_test(''):尝试使用部分的链接文本;如果链接文本被按钮图标截断了,可以使用部分的链接文本
driver.find_element_by_partial_link_text("人资").click()
4.让程序休息3秒钟
- #导入库
- import time
- time.sleep()
5.窗口切换
找到新窗口的名字
new_window=driver.window_handles[-1]
切换到新窗口
driver.switch_to.window(new_window)
6.强制转换成下拉框类型(a是指定位到的元素位置
Select (a).select_by_visible_text("杭州")
后台添加商品
1.查看万能验证码
查看有万能验证码的url,找到对应路径的脚本文件,注释掉相关校验的代码,ui测试可用玩你呢过验证码,在代码里面查找,或者问相关后端开发人员
2.双击按钮,ActionChains封装,以.perform()结尾
ActionChains(driver).double_click(driver.find_element_by_id("7")).perform()
3.处理弹出框
浏览器最大等待30s,每隔0.5秒去判断有没有满足执行条件
- from selenium.webdriver.support import expected_conditions
- from selenium.webdriver.support.select import Select
- WebDriverWait(driver,30,0.5).until(expected_conditions.alert_is_present())
4.浏览器切换到弹出框上,并点击确定按钮
driver.switch_to.alert.accept()
个人中心设置
1.submit方法:类似click,只能用于form表单中
- # submit方法:类似click,只能用于form表单中
- # 这里submit方法就代替了,定位登录按钮并点击的操作
- driver.find_element_by_id("password").submit()
2.在日历输入框中输入‘年月日’,删除只读属性(为了不用一步一步去点击)
selenium做不到,但是javascript可以做到
javascript是一门单独的语言、java、python、没有任何关系,几乎所有的网页都离不开javascript语言
javascript语言可以直接写在浏览器的空间里面,学会了selenium,就相当于学会了所有的自动化测试,因为所有的自动化测试几乎跟selenium是相似的
删掉readonly属性,把javsscript语句当做是一个字符串,document相当于整个页面的的html文档
日历空间本身是一个输入框
获取一个日历控件:getElementByid('date')
删除属性:removeAttribute('readonly')
想要把javascript写成python,需要把javascript语句当成一个字符串来处理
script=‘document.getElementByid('date').removeAttribute("readonly")
通过浏览器执行
driver.excute_script(script)
f12的source里面会保存很多js的文件
可以在控制台写javascript代码
javascript的思路基本跟selenium的思路一样
3.切换到弹出框上,去获取弹出框上的信息
- update_message = driver.switch_to.alert.text
- print(update_status)
4.智能等待
放在谷歌浏览器的驱动下面
driver.implicitly_wait(10)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。