Selenium常用函数
Selenium是web应用 测试框架 。官方链接 :https://docs.seleniumhq.org/
常用函数如下
WebDriverWait
element = WebDriverWait(driver, 30, 0.5).until(EC.element_to_be_clickable((By.CLASS_NAME, 'gt_slider_knob')))
driver:第一个参数是webDriver的实例 。
30:表示超时的时间 ,
0.5:调用until中方法的间隔时间 。
EC.element_to_be_clickable((By.CLASS_NAME, 'gt_slider_knob'))
--寻找class name为gt_slider_knob 是否是可见的并且可以点击的。
其它的参考:https://www.cnblogs.com/yuuwee/p/6635652.html
ActionChains
动作链。如:鼠标移动,鼠标点按,键盘操作,文本操作
ActionChains(driver).click_and_hold(on_element=element).perform() # 点击鼠标左键,按住不放
当我们调用这里的方法时,这些操作会被先储存在一个队列中,当我们调用perform()方法时,队列中的操作会被按顺序执行,执行后队列被清空
ActionChains.move_by_offset
action.move_by_offset(950, 100).send_keys('python')
action.move_by_offset(250, 0).click()
move_by_offset中每一步的位置坐标都是针对上一步的,第一次是相对原点的,所以直接测量不作任何变化,第二次测量之后,要计算相对上一次坐标的位移距离,(250,0)表示(950+250,100)这两个值为新的坐标位置。
会受到浏览器的窗口大小,滚动条的位置都会影响坐标值
# 将source元素拖放至target元素处,参数为两个elementObj
ActionChains(driver).drag_and_drop(source=source,target=target)
# 将一个source元素 拖动到针对source坐上角坐在的x y处 可存在负宽度的情况和负高度的情况
ActionChains(driver).drag_and_drop_by_offset(source, x, y)
# 这种也是拖拽的一种方式,都是以源元素的左上角为基准,移动坐标
ActionChains(driver).click_and_hold(dom).move_by_offset(169,188).release().perform()
参考:https://www.cnblogs.com/feng0815/p/8344120.html
random.randint(a,b)
用于生成一个指定范围内的整数
random.randint(2,5)
反驳对手观点时需更注重逻辑严密性。