首页 > 其他分享 >Selenium07-类名和标记名定位

Selenium07-类名和标记名定位

时间:2022-12-08 21:13:48浏览次数:31  
标签:定位 NAME 标记 Selenium07 driver element import find 类名

CLASS_NAME定位

  • html语法里class属性

    • class属性规定元素的类名(classname),如需为一个元素规定多个类,用空格分隔类名

    • html里的类一般是用于统一设置控件的样式,对文字排版等比较有用

      <标记 class='类名1 类名2'>
      
  • WebDriver提供的CLASS_NAME定位用于定位某类的元素,find_element方法返回一个特定类名的页面元素对象

    # 语法
    变量 = driver.find_element(By.CLASS_NAME,"类名")
    
    """
    	启动Firefox,打开ECshop前台首页,在左下角订单查询区,输入订单号2009061909851,点击查询该订单按钮,等待3秒,关闭浏览器
    """
    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.common.by import By
    driver = webdriver.Firefox() # 启动浏览器
    driver.get('http://localhost/upload/index.php') # 前台首页
    # 定位元素
    inputBg = driver.find_element(By.CLASS_NAME,'inputBg')
    bnt_blue_2= driver.find_element(By.CLASS_NAME,'bnt_blue_2')
    # 元素操作
    inputBg.send_keys('2009061909851')
    bnt_blue_2.click()
    sleep(3) # 等待3秒
    driver.quit() # 关闭浏览器
    
    """
    	启动Firefox,打开ECshop前台首页,点击 留言板,输入电子邮件地址,输入主题,输入留言内容
    	等待2秒,点击我要留言,等待5秒关闭浏览器
    """
    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.common.by import By
    driver = webdriver.Firefox() # 启动浏览器
    driver.get('http://localhost/upload/index.php') # 前台首页
    # 定位元素及操作
    driver.find_element(By.LINK_TEXT,'留言板').click()
    driver.find_element(By.NAME,'user_email').send_keys('[email protected]')
    driver.find_element(By.NAME,'msg_title').send_keys('测试')
    driver.find_element(By.NAME,'msg_content').send_keys('测试')
    sleep(2) # 等待3秒
    driver.find_element(By.CLASS_NAME,'bnt_blue_1').click()
    sleep(5)
    driver.quit() # 关闭浏览器
    

TAG_NAME定位

  • HTML本质就是tag(标记)来定义实现网页上不同的控件,每个元素就是一个标记表示的信息

    <textarea cols="50" rows="4"></textarea>
    
  • WebDriver提供的TAG_NAME定位,就是使用标记名称定位,find_element方法返回一个特定标记名的页面元素对象

    # 语法
    变量 = driver.find_element(By.TAG_NAME,'标记名')
    # 示例
    mycommone = driver.find_element(By.TAG_NAME,'textarea')
    
    """
    	启动Firefox,打开ECshop前台首页,点击 留言板,输入电子邮件地址,输入主题,输入留言内容
    	等待2秒,点击我要留言,等待5秒关闭浏览器
    """
    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.common.by import By
    driver = webdriver.Firefox() # 启动浏览器
    driver.get('http://localhost/upload/message.php') # 前台留言板
    mycommone = driver.find_element(By.TAG_NAME,'textarea')
    mycommone.send_keys("12345")
    sleep(2) # 等待3秒
    driver.quit() # 关闭浏览器
    

说明:

(1)CLASS_NAME和TAG_NAME定位时,因为符合条件的元素可能不止一个,所以定位可能不准确,尽量少用。
(2)CLASS_NAME使用class属性值里的类名来定位,如果有空格,就是多个类名,使用其中一个进行定位。
(3)定位时,定位错了元素,不会报错。

标签:定位,NAME,标记,Selenium07,driver,element,import,find,类名
From: https://www.cnblogs.com/sean-test/p/16967296.html

相关文章