• selenium---元素定位(find_element)


      前面介绍了元素定位的八大方法,今天在来介绍一种元素定位方法find_element方法

    find_element

    find_element属于定位元素中的另一种方法,包含了常用的定位方法,使用的时候可能和其他的使用方法不一样,先看源码

    源码:

    def find_element(self, by=By.ID, value=None):
            """
            根据策略和定位器找到给定的元素。
    
            :使用方法:
                element = driver.find_element(By.ID, 'foo')
    
            :rtype: WebElement
            """
            if self.w3c:
                if by == By.ID:
                    by = By.CSS_SELECTOR
                    value = '[id="%s"]' % value
                elif by == By.TAG_NAME:
                    by = By.CSS_SELECTOR
                elif by == By.CLASS_NAME:
                    by = By.CSS_SELECTOR
                    value = ".%s" % value
                elif by == By.NAME:
                    by = By.CSS_SELECTOR
                    value = '[name="%s"]' % value
            return self.execute(Command.FIND_ELEMENT, {
                'using': by,
                'value': value})['value']

    源码中包含了我们的使用方法,但是我们正常去使用的时候会报错,因为找不到By模块,所以我们首先要导入By模块。

    # 导入By模块
    from selenium.webdriver.common.by import By

    使用方法:

    # driver.find_element(By.定位方法,‘元素信息’)
    
    driver.find_element(By.ID, 'foo')

    使用中的定位方法和普通的定位方法是一致的。

    # coding:utf-8
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    # 选择浏览器
    driver = webdriver.Chrome()
    # 进入百度网站
    driver.get('https://www.baidu.com')
    # 通过find_element定位输入框
    driver.find_element(By.ID,'kw').send_keys('python')

    效果动态图:

    PS:最近安静刚换了工作,更新博客可能偶尔更新了,但是学习也要每天2小时~

  • 相关阅读:
    MySql 语言分类
    grep正则 以.o结尾的文件
    demo板 apt-get install stress
    ltp-ddt qspi_mtd_dd_rw error can't read superblock on /dev/mtdblock0
    linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别
    setenv和dos2unix碰到的问题
    bootz to be continued
    runltp出现问题 [
    demo board boot mode
    excel条件格式 满足包含xx的整行高亮
  • 原文地址:https://www.cnblogs.com/qican/p/13131445.html
Copyright © 2020-2023  润新知