1安装selenium包
2元素定位
各个定位的示范
1. driver.find_element_by_xpath(value) 2. driver.find_element_by_css_selector(value) 3. driver.find_element_by_id(value) 4. driver.find_element_by_name(value) 5. driver.find_element_by_class_name(value) 6. driver.find_element_by_tag_name(value) 7. driver.find_element_by_link_text(value) 8. driver.find_element_by_partial_link_text(value)
一般用于a标签、定位元素内容必须全部匹配 7. driver.find_element_by_link_text(value) 这个可以是模糊匹配、但是必须代表唯一性—__推荐 8. driver.find_element_by_partial_link_text(value)
xpath
1. driver.find_element_by_xpath(value)
能使用相对路径不使用绝对路径
css定位
#1.使用css id.选择器定位用户名输入admin driver.find_element_by_css_selector("#userA").send_keys("admin") #2.使用css属性选择定位密码框输入123456 driver.find_element_by_css_selector("[name='passwordA']")send_keys("123456") #3.使用css cLass选择器定位电话号码:18611112222 driver.find_element_by_css_selector(".telA").send_keys("18611112222") #4.使用css元素选择器定位span标签获取文本值 span driver.find_element_by_css_selector("span").text print("获取的span标签文本值:",span) #5.使用层级选择器定位email输入[email protected] driver.find_element_by_css_selector("p>input[placeholder:='电子邮箱A']")
3元素操作
获取元素信息
鼠标操作
键盘操作
元素等待
隐式等待:
显式等待:
#实例化NebDriverWait()并调用until方法 #注意:调用until方法返回的一定是一个元素 username WebDriverWait(driver,timeout=10,poll_frequency=0.5).until(lambda x:x.find_element_by_id("#user")).send_keys("admin) #注意:此时username还不是元素,只有代码运行起来才是元素 username.send_keys("admin") WebDriverWait (driver,timeout=10,poll frequency=0.5).until(lambda x:x.find element_by_id("#user")).send_keys("admin") 参数: timeout:超时时间 pol1_frequency:访问频率,默认0.5秒找一次元素 x:x为driver,它是WebDriverWait:类将传入的driver赋值给类self.driver,unil方法调用了self,_driver;