码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • selenium webDriver的运用


    声明实例运行浏览器

    配置浏览器驱动后,可以通过简单的2行代码就可以驱动浏览器(配置这里不加赘述)

    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")

    1.简单操作

    1.1浏览器操作

     

     

     

    driver.back()#后退
    driver.forward()#前进
    driver.refresh()#刷新
    1.2浏览器窗口操作

     

     

     

    driver.maximize_window()#浏览器最大化窗口
    driver.minimize_window()#浏览器最小化窗口
    driver.close()#关闭浏览器
    driver.set_window_position(坐标X,坐标Y) #移动浏览器到坐标位置
    driver.set_window_size(宽度像素,高度像素)#讲浏览器窗口设置指定大小
    driver.set_window_rect(坐标X,坐标Y,宽度像素,高度像素)#将浏览器窗口移动到指定位置,同时设置窗口大小
    1.3获取浏览器信息
    print(driver.title) #百度一下,你就知道
    print(driver.current_url) #https://www.baidu.com/
    复制代码
    #获取位置对象
    driver.get_window_position()
    #获取大小对象
    driver.get_window_size()
    #获取位置和大小对象
    driver.get_window_rect()
    复制代码

    2查找页面元素

    复制代码
    #基本查找元素
    from selenium.webdriver.common.by import By
    
    driver.find_element(By.ID,"kw").send_keys("")
    driver.find_element(By.NAME,"wd").send_keys("")
    driver.find_element(By.LINK_TEXT,"新闻").click()
    复制代码
    xpath表达式
    /子节点
    //任意位置
    *任意元素
    .当前节点 ..父级极点
    子节点稳定//*[@属性=“属性值”]/.. 这样就可以向上找到节点在往上继续/.. 然后往下找div[索引]
    following-sibling::同节点最近的下一个(小哥)
    preceding-sibling::同节点最近的上一个(大哥)
    @代表属性
    格式
    属性://*[@属性=“属性值”]
    文本://*[text()='文本值']
    模糊查询 [ contains(@属性/text(),“值”)]
    starts_with(@属性/text(),“值”):以xxx开始 :属性,文本值
    多条件查询and:
    //*[@属性=‘值’ and@属性=‘值’ ]
    svg元素
    //*[name()='svg']

    3元素基本操作

    click

    通常用于单击按钮(

    该函数一般用于输入框元素(