Python中Webdriver库的使用

Posted 漫谈测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中Webdriver库的使用相关的知识,希望对你有一定的参考价值。


1.selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决javascript渲染问题。

2.用python写爬虫的时候,主要用的是selenium的Webdriver

3.支持Web而不需要浏览器支持,其快速、原生支持各种Web标准:Dom处理,CSS选择器,JSON等等。

4.PhantomJS可以用用于页面自动化、网络监测、网页截屏,以及无界面测试

5.获取元素类型

 find_element_by_name

 find_element_by_id

 find_element_by_xpath

 find_element_by_link_text

 find_element_by_partial_link_text

 find_element_by_tag_name

 find_element_by_class_name

 find_element_by_css_selector

6.获取元素方式https://www.cnblogs.com/xiao-xue-di/p/10932504.html     

7.常用的判断条件:

 title_is 标题是某内容

 title_contains 标题包含某内容

 presence_of_element_located 元素加载出,传入定位元组,如(By.ID, 'p')

 visibility_of_element_located 元素可见,传入定位元组

 visibility_of 可见,传入元素对象

 presence_of_all_elements_located 所有元素加载出

 text_to_be_present_in_element 某个元素文本包含某文字

 text_to_be_present_in_element_value 某个元素值包含某文字

 frame_to_be_available_and_switch_to_it frame加载并切换

 invisibility_of_element_located 元素不可见

 element_to_be_clickable 元素可点击

 staleness_of 判断一个元素是否仍在DOM,可判断页面是否已经刷新

 element_to_be_selected 元素可选择,传元素对象

 element_located_to_be_selected 元素可选择,传入定位元组

 element_selection_state_to_be 传入元素对象以及状态,相等返回True,否则返回False

 element_located_selection_state_to_be 传入定位元组以及状态,相等返回True,否则返回False  

 alert_is_present 是否出现Alert

8.浏览器的前进和后退

前进:forward()

后退:back()

import time
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')
browser.forward()
time.sleep(10)
browser.get('https://weibo.com/login.php')
time.sleep(5)
browser.get('https://www.taobao.com/')
browser.back()
time.sleep(10)
browser.get('https://weibo.com/login.php')
browser.back()
time.sleep(30)
browser.forward()
time.sleep(15)
browser.close()



以上是关于Python中Webdriver库的使用的主要内容,如果未能解决你的问题,请参考以下文章

Python之如何优雅的重试

如何在android库的片段中添加按钮和textView

Selenium 库的基本用法

使用 webdriver 在 Chrome 中运行 Python

不使用支持库的 Android 4.0、4.1 (<4.2) 中嵌套片段的最佳实践

如何在 Python 中使用 Selenium WebDriver 获取文本