python selenium学习笔记

Selenium 介绍

Selenium 是 python 中的一个第三方库,是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。

Selenium 安装

直接用命令安装:python -m pip install selenium

安装完成后,输入python -m pip show selenium可查看当前的selenium版本,如下图:

安装驱动程序

不同的浏览器需要安装不同的驱动程序。

     1.Chrome 的驱动 chromedriver 下载地址:http://chromedriver.storage.googleapis.com/index.html 或 https://npm.taobao.org/mirrors/chromedriver/

     2.Firefox 的驱动 geckodriver 下载地址:https://github.com/mozilla/geckodriver/releases/      

     3.IE 的驱动 IEdriver 下载地址:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/

 具体安装内容参加上一篇chromedriver安装步骤:https://www.cnblogs.com/gzyxy/p/11226655.html

Selenium 属性

上面准备工作已经完成,可以使用 selenium 进行 web 页面自动化测试。在编写程序前,先学习一下 selenium 属性。

通过 python 命令查看 selenium 属性如下:

>>> from selenium import webdriver
>>> dir(webdriver)

['ActionChains', 'Android', 'BlackBerry', 'Chrome', 'ChromeOptions', 'DesiredCapabilities', 'Edge', 'Firefox', 'FirefoxOptions', 'FirefoxProfile', 'Ie', 'IeOptions', 'Opera', 'PhantomJS', 'Proxy', 'Remote', 'Safari', 'TouchActions', 'WebKitGTK', 'WebKitGTKOptions', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', 'android', 'blackberry', 'chrome', 'common', 'edge', 'firefox', 'ie', 'opera', 'phantomjs', 'remote', 'safari', 'support', 'webkitgtk']

通过 webdriver 声明浏览器对象:

from selenium import webdriver

browser = webdriver.Chrome()
browser = webdriver.Firefox()

通过 python 命令继续查看浏览器对象的属性:

>>> browser = webdriver.Chrome()

DevTools listening on ws://127.0.0.1:58648/devtools/browser/09b261e1-332b-4f90-a54a-6841735bdcfd
>>> dir(browser)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__lute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '_'__subclasshook__', '__weakref__', '_file_detector', '_is_remote',_reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_file_detector', '_is_remote', , 'close', 'command_executor', 'create_options', 'create_web_elemen'_mobile', '_switch_to', '_unwrap_value', '_web_element_cls', '_wrap_value', 'add_cookie', 'application_cache', 'back', 'capabilities' 'execute_async_script', 'execute_cdp_cmd', 'execute_script', 'file, 'close', 'command_executor', 'create_options', 'create_web_element', 'current_url', 'current_window_handle', 'delete_all_cookies', '', 'find_element_by_link_text', 'find_element_by_name', 'find_elemedelete_cookie', 'desired_capabilities', 'error_handler', 'execute', 'execute_async_script', 'execute_cdp_cmd', 'execute_script', 'filelements_by_css_selector', 'find_elements_by_id', 'find_elements_by__detector', 'file_detector_context', 'find_element', 'find_element_by_class_name', 'find_element_by_css_selector', 'find_element_by_idward', 'fullscreen_window', 'get', 'get_cookie', 'get_cookies', 'ge', 'find_element_by_link_text', 'find_element_by_name', 'find_element_by_partial_link_text', 'find_element_by_tag_name', 'find_element, 'get_window_rect', 'get_window_size', 'implicitly_wait', 'launch__by_xpath', 'find_elements', 'find_elements_by_class_name', 'find_elements_by_css_selector', 'find_elements_by_id', 'find_elements_by_enshot', 'service', 'session_id', 'set_network_conditions', 'set_palink_text', 'find_elements_by_name', 'find_elements_by_partial_link_text', 'find_elements_by_tag_name', 'find_elements_by_xpath', 'for'stop_client', 'switch_to', 'switch_to_active_element', 'switch_to_ward', 'fullscreen_window', 'get', 'get_cookie', 'get_cookies', 'get_log', 'get_network_conditions', 'get_screenshot_as_base64', 'get_screenshot_as_file', 'get_screenshot_as_png', 'get_window_position', 'get_window_rect', 'get_window_size', 'implicitly_wait', 'launch_app', 'log_types', 'maximize_window', 'minimize_window', 'mobile', 'name', 'orientation', 'page_source', 'quit', 'refresh', 'save_screenshot', 'service', 'session_id', 'set_network_conditions', 'set_page_load_timeout', 'set_script_timeout', 'set_window_position', 'set_window_rect', 'set_window_size', 'start_client', 'start_session', 'stop_client', 'switch_to', 'switch_to_active_element', 'switch_to_alert', 'switch_to_default_content', 'switch_to_frame', 'switch_to_window', 'title', 'w3c', 'window_handles']


浏览器对象通过 get 属性 获取 URL 打开页面:

from selenium import webdriver

browser = webdriver.Chrome()

browser.get("http://www.baidu.com")
print(browser.page_source)
browser.close()

 

posted on 2019-07-26 11:09  GZYXY 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/gzyxy/p/11249020.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值