zoukankan      html  css  js  c++  java
  • 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小时~

  • 相关阅读:
    HelloWorld入门程序
    list的几种遍历方式
    遍历map的几种方法
    Java动态代理
    七月七日学习记录
    七月六日学习报告
    钢镚儿使用体验
    TD tree 使用体验
    学习笔记154—Matlab 如何写入txt?
    学习笔记153—matlab中小数如何取整?
  • 原文地址:https://www.cnblogs.com/qican/p/13131445.html
Copyright © 2011-2022 走看看