• 【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()
    
  • 相关阅读:
    剑指offer python版 正则表达式匹配
    剑指offer python版 删除链表中重复的结点
    剑指offer python版 在O(1)时间删除链表结点
    剑指offer python版 打印1到最大的n位数
    剑指offer python版 数值的整数次方
    剑指offer python版 二进制中1的个数
    剑指offer python版 剪绳子
    剑指offer python版 机器人的运动范围
    设计模式(二) 工厂模式
    设计模式(一) 单例模式
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12668130.html
Copyright © 2020-2023  润新知