当前位置:   article > 正文

selenium-语法_selenium版块官方文档

selenium版块官方文档
bing网站搜索关键词-selenium基础脚本实例
  1. # bing网站搜索关键词-selenium基础脚本实例
  2. # 导入类库
  3. from selenium import webdriver
  4. # 打开谷歌浏览器
  5. driver=webdriver.Chrome()
  6. # 访问url
  7. driver.get('https://cn.bing.com/')
  8. # 定位输入框,搜索关键词
  9. driver.find_element_by_id("sb_form_q").send_keys('男')
  10. # 点击搜索按钮
  11. driver.find_element_by_id("search_icon").click()
  12. # 关闭浏览器
  13. 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秒钟

  1. #导入库
  2. import time
  3. 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秒去判断有没有满足执行条件

  1. from selenium.webdriver.support import expected_conditions
  2. from selenium.webdriver.support.select import Select
  3. WebDriverWait(driver,30,0.5).until(expected_conditions.alert_is_present())

4.浏览器切换到弹出框上,并点击确定按钮

driver.switch_to.alert.accept()

个人中心设置

1.submit方法:类似click,只能用于form表单中

  1. # submit方法:类似click,只能用于form表单中
  2. # 这里submit方法就代替了,定位登录按钮并点击的操作
  3. 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.切换到弹出框上,去获取弹出框上的信息

  1. update_message = driver.switch_to.alert.text
  2. print(update_status)

4.智能等待

放在谷歌浏览器的驱动下面

driver.implicitly_wait(10)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/489107
推荐阅读
相关标签
  

闽ICP备14008679号