zoukankan      html  css  js  c++  java
  • 【Python3 爬虫】U32_selenium操作表单元素

    1.操作输入框

    操作输入框分为2个步骤,如下

    • 第一步:找到这元素
    • 第二步:使用send_keys(value),将数据填充进去

    以下是示例代码:

    inputTag = driver.find_element_by_id('kw')
    
    inputTag.send_keys('china')
    

    使用clear方法可以清除输入框中的内容,示例代码如下:

    inputTag.clear()
    

    实战演练

    from selenium import webdriver
    import time
    # chromedriver的绝对路径
    driver_path = r'D:Pythonchromedriver.exe'
    
    # 初始化一个driver,并且指定chromedriver的路径
    driver = webdriver.Chrome(executable_path=driver_path)
    
    # 请求网页
    driver.get("https://www.baidu.com/")
    
    inputTag = driver.find_element_by_id('kw')
    inputTag.send_keys("中国")
    
    # 沉睡3s后清除内容
    time.sleep(3)
    inputTag.clear()
    
    

    2.操作checkbox

    因为要选中checkbox标签,在网页中是通过鼠标点击的。因此想要选中checkbox标签,那么先选中这个标签,然后执行click事件。
    示例代码如下:

    rememberTag = driver.find_element_by_name("rememberMe")
    rememberTag.click()
    

    实战演练
    我们在登录豆瓣的时候会看到如下界面,下图标记部分为checkbox

    通过google的检查我们可以找到该checkbox的name属性是autoLogin,以下代码实现了选中该checkbox

    from selenium import webdriver
    import time
    # chromedriver的绝对路径
    driver_path = r'D:Pythonchromedriver.exe'
    
    # 初始化一个driver,并且指定chromedriver的路径
    driver = webdriver.Chrome(executable_path=driver_path)
    
    # 请求网页
    driver.get("https://www.webportal.top/")
    
    rememberTag = driver.find_element_by_id('autoLogin')
    # 停留3秒后选中
    time.sleep(3)
    rememberTag.click()
    

    3.操作select标签

    select元素不能直接点击。因为点击后还需要选中元素。这时候selenium就专门为select标签提供了一个类selenium.webdriver.support.ui.Select。将获取到的元素当成参数传到这个类中,创建这个对象。以后就可以使用这个对象进行选择了。示例代码如下:

    
    from selenium.webdriver.support.ui import Select
    
    from selenium import webdriver
    
    # chromedriver的绝对路径
    driver_path = r'D:Pythonchromedriver.exe'
    
    # 初始化一个driver,并且指定chromedriver的路径
    driver = webdriver.Chrome(executable_path=driver_path)
    
    # 请求网站
    driver.get('http://jyzx.lzjtu.edu.cn/eweb/jygl/jyglext.so?type=dwzc')
    
    # 选中这个标签,然后使用Select创建对象
    
    selectTag = Select(driver.find_element_by_id("szsf"))
    
    # 根据索引选择
    # selectTag.select_by_index(1)
    
    # 根据值选择
    selectTag.select_by_value("11")
    
    # 根据可视的文本选择
    #selectTag.select_by_visible_text("北京市")
    
    
    # 取消选中所有选项
    
    # selectTag.deselect_all()
    

    4.操作按钮

    操作按钮有很多种方式。比如单击、右击、双击等。这里讲一个最常用的。就是点击。直接调用click函数就可以了。示例代码如下:

    inputTag = driver.find_element_by_id('su')
    inputTag.click()
    

    实战演练

    模拟在百度输入【中国】,然后点击【百度一下】查询

    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    # chromedriver的绝对路径
    
    driver_path = r'D:Pythonchromedriver.exe'
    
    # 初始化一个driver,并且指定chromedriver的路径
    
    driver = webdriver.Chrome(executable_path=driver_path)
    
    # 请求网页
    
    driver.get("https://www.baidu.com/")
    
    # inputTag = driver.find_element_by_id('kw')
    inputTag = driver.find_element(By.ID,'kw')
    inputTag.send_keys("中国")
    
    inputTag = driver.find_element_by_id('su')
    inputTag.click()
    
  • 相关阅读:
    SQL Server 2000 JDBC驱动的完整安装及测试说明
    Google 免费:搜索本站内容
    阳光下旅行
    佛说五百年的回眸才换来今生的擦肩而过
    在程序中调用“数据链接属性”对话框,产生连接字符串
    ╭☆难以割舍^_^就是牵挂☆╮
    java打包详解
    .NET 自定义实体类简介
    C#中方法的参数有四种类型
    DataSet操作数据库
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12668130.html
Copyright © 2011-2022 走看看