selenium之使用driver及其属性

4 篇文章 0 订阅
4 篇文章 0 订阅

前言:
我们使用selenium的时候,经常使用driver,那这个driver是什么?做什么用?大家有想过么?
今天我们就来看看driver都有些什么属性,能做些什么?

driver的由来,我相信大家都清楚:

from selenium import webdriver
driver=webdriver.Chrome()  #这就是大家约定俗成的 driver
driver.get(r'http://www.baidu.com/')

我们使用Python内置函数“dir”打印出来,看下driver的属性:

print(dir(driver))

结果如下:

[‘NATIVE_EVENTS_ALLOWED’, ‘class’, ‘delattr’, ‘dict’, ‘doc’, ‘format’, ‘getattribute’, ‘hash’, ‘init’, ‘module’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘weakref’, ‘_file_detector’, ‘_is_remote’, ‘_mobile’, ‘_switch_to’, ‘_unwrap_value’, ‘_wrap_value’, ‘add_cookie’, ‘application_cache’, ‘back’, ‘binary’, ‘capabilities’, ‘close’, ‘command_executor’, ‘create_web_element’, ‘current_url’, ‘current_window_handle’, ‘delete_all_cookies’, ‘delete_cookie’, ‘desired_capabilities’, ‘error_handler’, ‘execute’, ‘execute_async_script’, ‘execute_script’, ‘file_detector’, ‘find_element’, ‘find_element_by_class_name’, ‘find_element_by_css_selector’, ‘find_element_by_id’, ‘find_element_by_link_text’, ‘find_element_by_name’, ‘find_element_by_partial_link_text’, ‘find_element_by_tag_name’, ‘find_element_by_xpath’, ‘find_elements’, ‘find_elements_by_class_name’, ‘find_elements_by_css_selector’, ‘find_elements_by_id’, ‘find_elements_by_link_text’, ‘find_elements_by_name’, ‘find_elements_by_partial_link_text’, ‘find_elements_by_tag_name’, ‘find_elements_by_xpath’, ‘firefox_profile’, ‘forward’, ‘get’, ‘get_cookie’, ‘get_cookies’, ‘get_log’, ‘get_screenshot_as_base64’, ‘get_screenshot_as_file’, ‘get_screenshot_as_png’, ‘get_window_position’, ‘get_window_size’, ‘implicitly_wait’, ‘log_types’, ‘maximize_window’, ‘mobile’, ‘name’, ‘orientation’, ‘page_source’, ‘profile’, ‘quit’, ‘refresh’, ‘save_screenshot’, ‘session_id’, ‘set_page_load_timeout’, ‘set_script_timeout’, ‘set_window_position’, ‘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’]

大家有兴趣的可以每个属性都去了解一下,这会对大家理解selenium非常有帮助;下面我抛砖引玉和大家说下driver里面特别重要的定义和方法:

1、driver是什么?
答:driver是你通过selenium驱动的浏览器的对象,driver的属性就是浏览器的属性;即driver==浏览器(可以这样理解)

2、driver能做什么?
答:你想想你的浏览器能做什么?打开网址、放大缩小、全屏、切换标签页(窗口)…等等。

3、driver里面一些重要的属性操作(划重点、敲黑板了~!!!!!!!):

1. driver.get(url):浏览器加载url
2. driver.forward():浏览器向前(点击向前按钮)
3. driver.forward():浏览器向前(点击向前按钮)
4. driver.forward():浏览器向前(点击向前按钮)
5. driver.close():关闭当前窗口,或最后打开的窗口
6. driver.quit():关闭所有关联窗口,并且安全关闭session
7. driver.maximize_window():最大化浏览器窗口
8. driver.maximize_window():最大化浏览器窗口
9. driver.get_window_size():获取当前窗口的长和宽
10. driver.get_window_position():获取当前窗口坐标
11. driver.get_screenshot_as_file(filename):截取当前窗口
12. driver.implicitly_wait(s):隐式等待,通过一定的时长等待页面上某一元素加载完成。若提前定位到元素,则继续执行。若超过时间未加载出,则抛出NoSuchElementException异常
13. driver.switch_to_frame(element):切换到新表单(同一窗口)。若无id或属性值,可先通过xpath定位到iframe,再将值传给switch_to_frame()
14. driver.switch_to.parent_content():跳出当前一级表单。该方法默认对应于离它最近的switch_to.frame()方法
15. driver.switch_to.default_content():跳回最外层的页面
16. driver.switch_to.window(窗口句柄):切换到新窗口
17. driver.switch_to_alert():警告框处理。处理JavaScript所生成的alert,confirm,prompt
18. driver.execute_script(js):调用js;
19. driver.get_cookies():获取当前会话所有cookie信息
20. driver.get_cookie(cookie_name):返回字典的key为“cookie_name”的cookie信息
21. driver.add_cookie(cookie_dict):添加cookie。“cookie_dict”指字典对象,必须有name和value值
22. driver.delete_cookie(name,optionsString):删除cookie信息
23. driver.delete_all_cookies():删除所有cookie信息

上面都是driver属性里面比较常用切比较重要的几个属性,希望大家一定要熟悉,牢记。
大家可以留言,说说最想了解哪个属性的使用解析,到时候可以抽里面两三个进行细讲。

  • 16
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值