zoukankan      html  css  js  c++  java
  • selenium

    1 加载网页:

    selenium通过控制浏览器,所以对应的获取的数据都是elements中的内容
    
    from selenium import webdriver 
    # 指定driver的绝对路径
    # driver = webdriver.PhantomJS(executable_path='/home/worker/Desktop/driver/phantomjs') 
    driver = webdriver.Chrome(executable_path='/home/worker/Desktop/driver/chromedriver')
    # 向一个url发起请求
    driver.get("http://www.itcast.cn/")
    # 把网页保存为图片
    driver.save_screenshot("itcast.png")
    # 退出模拟浏览器
    driver.quit() # 一定要退出!不退出会有残留进程!
     

    小结

    1. selenium的导包:from selenium import webdriver
    2. selenium创建driver对象:webdriver.PhantomJS()
    3. selenium请求数据:driver.get("http://www.baidu.com/")
    4. selenium查看数据: driver.page_source
    5. 关闭无界面浏览器: driver.quit()
    6. 根据id定位元素: driver.find_element_by_id(“kw”)
    7. 操作点击事件: click()
    8. 给输入框赋值:send_keys()
       
    9. 1 selenium的定位操作

      定位元素语法:

      ```python
      find_element_by_id (返回一个元素)
      find_elements_by_xpath (返回一个包含元素的列表)
      find_elements_by_link_text (根据连接文本获取元素列表)
      find_elements_by_partial_link_text (根据链接包含的文本获取元素列表)
      find_elements_by_tag_name (根据标签名获取元素列表)
      find_elements_by_class_name (根据类名获取元素列表)

    获取数据语法

    • find_element仅仅能够获取元素,不能够直接获取其中的数据,如果需要获取数据需要使用以下方法:
      • 获取文本:element.text
      • 获取属性值:element.get_attribute("href")
     

    小结

    1. 根据xpath定位元素:    driver.find_elements_by_xpath("//*[@id='s']/h1/a")
    2. 根据class定位元素:    driver.find_elements_by_class_name("box")
    3. 根据link_text定位元素:     driver.find_elements_by_link_text("下载豆瓣 App")
    4. 根据tag_name定位元素:     driver.find_elements_by_tag_name("h1")
    5. 获取文本内容:    element.text
    6. 获取标签属性:     element.get_attribute("href")
  • 相关阅读:
    javaEE(16)_Servlet监听器
    javaEE(15)_Servlet过滤器
    引用与指针的区别
    centos7 设置 查看 开机 启动项
    apache-httpd代理请求,selinux造成503问题的解决方法
    screen命令下,自启动设置
    PHP利用preg_split函数格式化日期
    PHP敏感信息脱敏函数
    php-sql-server-2017
    SQL Server修改表的模式schema
  • 原文地址:https://www.cnblogs.com/lab-zj/p/12166572.html
Copyright © 2011-2022 走看看