• selenium模块


    一、selenium介绍

    selenium最初是一个测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题

    selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器

    二、selenium安装

    pip3 install selenium
    #下载chromdriver.exe放到python安装路径的scripts目录中
    #国内镜像地址:http://npm.taobao.org/mirrors/chromedriver/
    #官网地址:https://sites.google.com/a/chromium.org/chromedriver/downloads
    ###安装验证
    from
    selenium import webdriver driver=webdriver.Chrome() #弹出浏览器 driver.get('https://www.baidu.com') ##访问百度网址

    三、常用方法

    from selenium import webdriver
    from selenium.webdriver import ActionChains
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.wait import WebDriverWait
    import time
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    wait = driver.implicitly_wait(10)  #隐式等待,等所有,默认等10秒
    
    #显示等待的用法
    # wait = WebDriverWait(driver,10)  #显示等待,等指定的,和EC配合这使用
    # wait.until(EC.presence_of_element_located((By.ID,"kw")))
    # 如果显示等待是不能进行点击的,如果要点击,就得按照下面这样的方式,而隐式等待就不用考虑这个问题了。
    # button = wait.until(EC.element_to_be_clickable((By.ID,"kw")))
    # button.click()
    try:
        # 1、find_element_by_id通过id来找
        # tag = driver.find_element_by_id("su")
        # print(tag.get_attribute("value"))  #获取上面这个标签的属性
        # 2、find_element_by_link_text通过有链接的文本去找
        # login = driver.find_element_by_link_text("登录")
        # print(login.get_attribute("href"))
        # login.click()  #点击登录按钮
        # 3、find_element_by_partial_link_text 找到包含这个录字的链接文本去找
        # login =  driver.find_element_by_partial_link_text("录")
        # login.click()
        # 4、find_element_by_tag_name通过标签的名字去找
        # print(driver.find_element_by_tag_name("a"))
        # time.sleep(5)
        # 5、find_element_by_class_name通过类名去找
        # print(driver.find_element_by_class_name("tang-pass-footerBarULogin"))
       # 6、通过css选择器找
       print(driver.find_element_by_css_selector("#kw"))
    finally:
        driver.quit()
  • 相关阅读:
    动手动脑3
    动手动脑2
    编写一个文件分割工具,能把一个大文件分割成多个小的文件。并且能再次把他们合并起来得到完整的文件
    编写一个文件加解密程序通过命令行完成加解密工作
    编写一个程序指定一个文件夹,能自动计算出其总容量
    Java中常见的异常处理汇总
    覆盖 动手动脑
    课堂代码验证
    如何在静态方法中访问类的实例成员 及查询“你已经创建了多少个对象”
    Java的字段初始化规律
  • 原文地址:https://www.cnblogs.com/zhangb8042/p/9511997.html
Copyright © 2020-2023  润新知