Selenium+Python 学习笔记4

1、Class属性有空格?

Class 属性有空格是多重属性,取其中一个就好了

driver.find_element_by_class_name(“quickdelete-wrap”) # 取class其中一个就行

2、常规操作

# 清空输入框信息
driver.find_element_by_name("email").clear()

# 输入框输入文本信息
driver.find_element_by_name("email").send_keys("adb")
driver.find_element_by_name("password").send_keys("123")

# 输入框输入文本信息
driver.find_element_by_name("email").send_keys("adb")
driver.find_element_by_name("password").send_keys("123")

# 输入框输入文本信息
driver.find_element_by_name("email").send_keys("adb")
driver.find_element_by_name("password").send_keys("123")

3、鼠标事件

鼠标事件:
from selenium.webdriver.common.action_chains import ActionChains 
context_click() 右击
double_click() 双击
drag_and_drop(source, target)拖动

move_to_element() 鼠标悬停

4、隐式等待与显式等待

(1)强制等待  sleep(xx)强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间。

(2)隐式等待 implicatly_wait 隐式等待 全局的,不论闪电侠去哪儿,都要等凹凸曼 十分钟,不管是一分钟到了,还是五分钟就到了,此时就走。  如果凹凸曼在规定时间内没到,则闪电侠自己去,那自然就等着凹凸曼给你抛异常吧。

(3)显式等待 WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。它主要的意思就是:程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException。

  1. Selenium可以采取三种等待,最智能的为显性等待WebDriverWait()
  2. 隐性等待和显性等待同时存在时,取两者中最长的等待时间为有效等待时间

5、xpath 语法总结

xpath 语法内数组从1开始,不是从0开始

a = driver.switch_to_alert()

a = driver.switch_to.alert

a.send_keys(“输入内容”)

time.sleep(2)

a.accept()

 

Path  //*[@id=“result_logo”] 相对路径           //表示相对路径 * 表示标签名 

XPath 定位语法更精确,一般不用绝对路径定位

对于这种文本属性,语法:.//*[text()='文本内容']

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章