【问题标题】:How element.findElement() method in selenium works [not driver.findElement()]selenium 中的 element.findElement() 方法如何工作 [不是 driver.findElement()]
【发布时间】:2017-11-23 06:33:00
【问题描述】:

当我执行以下代码时,代码运行良好

WebElement element = driver.findElement(By.xpath("String1"));
element.findElement(By.xpath("String2")); 

但是当我们这样做时

WebElement element = driver.findElement(By.xpath("String1"));
element.convertStringToXpath("String2");

// Method written in some other class
public WebElement convertStringToXpath(String xpath) {
        return driver.findElement(By.xpath(xpath));
    }

我收到如下错误 未为 WebElement 类型定义方法 convertStringToXpath(String)

谁能解释一下两者的区别

【问题讨论】:

    标签: java selenium selenium-webdriver webdriver


    【解决方案1】:

    让我们看看你的两个代码块中发生了什么:

    WebElement element = driver.findElement(By.xpath("String1"));
    element.findElement(By.xpath("String2"); 
    

    在这个代码块中,我们定义了一个名为elementWebElement,并在整个DOM Tree的范围内分配了(By.xpath("String1"))标识的节点 可访问 WebDriver 实例,即driver。接下来,我们使用此WebElement 的引用,即element 来识别elementscope 中由(By.xpath("String2")) 标识的另一个节点。。 p>

    WebElement element = driver.findElement(By.xpath("String1"));
    element.convertStringToXpath("String2");
    
    // Method written in some other class
    public WebElement convertStringToXpath(String xpath) {
            return driver.findElement(By.xpath(xpath));
        }
    

    在这个块中,我们也定义了一个名为elementWebElement,并在整个@987654337的范围内分配了(By.xpath("String1"))标识的节点@ 可访问 WebDriver 实例,即driver。接下来,您尝试通过 element 调用自定义方法 convertStringToXpath()。但是 element 的类型是 WebElementconvertStringToXpath() 是自定义方法,未在 WebElement 接口中定义。因此,您会看到错误 WebElement 类型的方法 convertStringToXpath(String) 未定义

    【讨论】:

      【解决方案2】:

      convertStringToXpath 是您编写的方法,它不是WebElement API 的一部分,因此您不能那样使用它。这将起作用

      WebElement element = someOtherClassInstance.convertStringToXpath("String2");
      

      【讨论】:

        猜你喜欢
        • 2020-07-18
        • 1970-01-01
        • 2013-08-06
        • 2013-08-28
        • 1970-01-01
        • 1970-01-01
        • 2013-03-11
        • 2019-05-20
        • 2012-04-21
        相关资源
        最近更新 更多