zoukankan      html  css  js  c++  java
  • selenium

    注意:浏览器对象(browser)每次操作页面,都会发生变化,包含下拉页面,踩过坑

    一、打开百度搜索python为例

    from selenium import webdriver
    
    browser = webdriver.Chrome()
    browser.get('https://www.baidu.com/')
    
    # 找到input框
    kw = browser.find_element_by_id('kw')
    # 输入内容(python)
    kw.send_keys('python')
    # 查找提交按钮
    su = browser.find_element_by_id('su')
    # 点击按钮
    su.click()
    
    browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
    # 找到下一页的标签
    next_page = browser.find_element_by_class_name('n')
    next_page.click()

    注意:浏览器对象browser,每到一个新的页面,浏览器对象都是新的,所以点击完next_page标签后,next_page标签每次都要重取

    二、浏览器对象常用方法

    page_source  # 获取当前网页的源码

    click()
    back()
    forward()
    page_source()    # 网页源码
    current_url
    excute_script()    # 执行脚本
    close()    # 关闭浏览器
    quit()    # 关闭浏览器

    注意:区别

    close() 关闭当前的tab

    quit() 关闭整个浏览器

    三、标签对象的常用方法

    send_keys()    # 向某个元素发送键盘事件
    text    
    get_attribute()        # 节点属性
    get_property()        # 节点属性
    
    location    # 位置
    rect     # 矩形
    is_enabled    # 

     四、切换窗口

    from selenium import webdriver
    browser = webdriver.Chrome()
    browser.get('https://www.baidu.com')
    # 打开新窗口
    browser.execute_script('window.open()')
    browser.get('https://www.baidu.com/')
    # 切换窗口
    browser.switch_to_window(browser.window_handles[0])
    browser.get('https://www.12306.cn/index/')
    # 再次切换窗口
    browser.switch_to_window(browser.window_handles[1])
    browser.get('https://www.sina.com.cn/')
  • 相关阅读:
    Nginx的编译,和简单的配置问题
    项目课DNS主域名解析服务器(四)
    项目课DHCP服务(三)
    项目课PXE自动装机(二)
    Nginx 详细讲解
    ansible批量管理工具的搭建与简单的操作
    SUID,SGID,SBIT这些到底是什么
    密码截取
    分治和递归的算法实现求数组A[n]中的前k个最大数
    回溯法实现求1n个自然数中r个数的组合
  • 原文地址:https://www.cnblogs.com/wt7018/p/11872919.html
Copyright © 2011-2022 走看看