zoukankan      html  css  js  c++  java
  • selenium元素定位

    https://www.cnblogs.com/qingchunjun/p/4208159.html

    判定元素是否存在

      private boolean isElementPresent(By by){
          try{
              driver.findElement(by);
              return true;
          }catch(Exception e){
              return false;
          }
    
      }

    滑动页面

    # 执行JavaScript脚本
    browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
    browser.execute_script('alert("To Bottom")')

    查找元素

    # find_element_by_name 通过name查找单个元素
    # find_element_by_xpath 通过xpath查找单个元素
    # find_element_by_link_text 通过链接查找单个元素
    # find_element_by_partial_link_text 通过部分链接查找单个元素
    # find_element_by_tag_name 通过标签名称查找单个元素
    # find_element_by_class_name 通过类名查找单个元素
    # find_element_by_css_selector 通过css选择武器查找单个元素
    # find_elements_by_name 通过name查找多个元素
    # find_elements_by_xpath 通过xpath查找多个元素
    # find_elements_by_link_text 通过链接查找多个元素
    # find_elements_by_partial_link_text 通过部分链接查找多个元素
    # find_elements_by_tag_name 通过标签名称查找多个元素
    # find_elements_by_class_name 通过类名查找多个元素
    # find_elements_by_css_selector 通过css选择武器查找多个元素

    获取元素信息

    btn_more = browser.find_element_by_id('btn_more')
    print(btn_more.get_attribute('class')) # 获取属性
    print(btn_more.get_attribute('href')) # 获取属性
    print(btn_more.text) # 获取文本值
    在给定的时间内去查找元素
        /**
         * 在给定的时间内去查找元素,如果没找到则超时,抛出异常
         * */
        public static void waitForElementToLoad(WebDriver driver, int timeOut, final By By) {
            try {
                (new WebDriverWait(driver, timeOut)).until(new ExpectedCondition<Boolean>() {
    
                    public Boolean apply(WebDriver driver) {
                        WebElement element = driver.findElement(By);
                        return element.isDisplayed();
                    }
                });
            } catch (TimeoutException e) {
                Assert.fail("超时!! " + timeOut + " 秒之后还没找到元素 [" + By + "]");
    
            }
        }
     
  • 相关阅读:
    快递全面实名制 再也见不到这些奇葩收件名
    遇到难题了,程序员们快来想个办法吧
    我为什么不鼓励所有的程序员写博客?
    如何选择编程语言?
    单机版FastDFS+nginx文件服务器搭建
    质量缩放
    abaqus应力云图
    冷镦钢 Kaltstauchstahl 易切削钢 Automatenstahl
    Latente Wärme
    Unterschied der Wärmedurchgang und Wärmeübergang
  • 原文地址:https://www.cnblogs.com/jiaoyang77/p/8072117.html
Copyright © 2011-2022 走看看