二:selenium使用

from selenium import webdriver #引入selenium的浏览器控制模块

browser = webdriver.Chrome() # 实例化一个headless浏览器

browser.get("http://www.baidu.com") # 访问百度首页

browser.find_element_by_id("kw").send_keys("selenium") # 通过id定位到输入框,并输入selenium

browser.find_element_by_id("su").click() #通过id定位到百度按钮,并点击

browser.quit() # 关闭当前页面

# browser.close() # 关闭当前浏览器

1.窗口最大化:
    在访问到url之后,可以使用browser.maximize_window(),最大化窗口

    使用场景:
    在我们操作浏览器的时候,可能会觉得别扭,想要全屏看执行效果
2.设置浏览器大小
    在访问到url之后,使用browser.set_window_size(480, 800)
    
    使用场景:
    比如需要查看在ipad下的执行效果
3.回退和前进操作
    由详情页回退的列表页
    browser.back()
    由列表页前进到详情页
    browser.forward()

4.selenium中简单对象定位

 find_element_by_id("kw"):id属性
 find_element_by_name("wd"):name属性
 find_element_by_xpath("xpath语法")
 find_element_by_class_name("addr"):类名
 find_element_by_link_text():不清楚,只知道是连接
 find_element_by_partial_link_text:更不清除,部分类似模糊查询
 find_element_by_tag_name("input"):标签名
 find_element_by_css_selector:非常牛X,值得学习,我用的不多

5.层级定位:基本原则-先定位先辈元素,再定位子孙元素
    一般使用xpath来定位会比较简单,遇到较难的,只能是跟前辈取经或网络中找答案

6.最上面的代码中有,对象的点击等操作
 send_keys(""):用于post请求时输入内容
 click() : 用于点击按钮
 clear() :  用于在输入内容之前清空输入框中的内容
 submit() : 类似click的使用
 text   : 用在定位元素后,用来获取元素内容
 get_attribute() : 定位元素后,用来获取元素某个属性的值

7.内嵌网页定位
  switch_to_frame("定位标记")
  switch_to_window("定位标记")

8.调用js
  execute_script('js',选中元素)
  execute_script(js)
  这块的用法需要对前端只是比较了解才行,尤其是js,能更好的定位

9.处理下拉列表,之后会有代码呈上,也可直接借鉴第5步,使用xpath
  但是,弹出下拉列表之后,应该然程序中止一段时间,方便selenium  选取元素

10.处理弹窗:
  driver.switch_to_alert().accept()
  # 定位到弹窗,接受警告提示

11.模拟键盘按键
  需要引入keys包
    from selenium import webdriver.common.keys
    import Keys
    
    使用send_keys()发送键盘按键
    # send_keys(Keys.ENTER)

  组合键:剪切
    # send_keys(Keys.CONTROL,‘x’)

12.鼠标的操作
context_click() 右击  :定位到元素,赋值给变量,作为右击参数
double_click()  双击  :定位到元素,赋值给变量,作为双击参数
drag_and_drop() 拖动  :定位元素初始和结束,赋值变量,作为参数

13.关于cookie的处理

  driver.get_cookies() 获得cookie信息
  add_cookie(cookie_dict)  向cookie添加会话信息
  delete_cookie(name)   删除特定(部分)的cookie
  delete_all_cookies()    删除所有cookie
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值