gpt4 book ai didi

java - 如何使用java将webelement转换为selenium中的字符串?请参阅详细信息部分以获取更多信息

转载 作者:行者123 更新时间:2023-12-01 06:11:46 30 4
gpt4 key购买 nike

我为“创建项目”页面创建了一个POM

public static class addProjInfo_container
{
public static WebElement ProjName_txt(WebDriver driver)
{
element=driver.findElement(By.xpath("//label[text()='Project Name']/following-sibling::input"));

return element;
}
// and so on for every text field for adding project...

我创建了一个 TestUtility 类,其中包含 waitForElement 方法,如下所示

public final class TestUtility {

private static WebDriver driver;


public static void waitforElementXpath(final WebDriver driver,final int waitTime,final String xp)
{
WebDriverWait wait =new WebDriverWait(driver, waitTime);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(xp)));
}
}

现在,在测试脚本中,我想避免使用 Thread.sleep() 来等待 webelement 准备好开始执行操作。

所以,我用

TestUtility.waitforElementXpath(driver,10,CreateProject_Page.addProjInfo_container.projName_txt(driver));

但是,它显示错误为

The method waitforElementXpath(WebDriver, int, String) in the type TestUtility is not applicable for the arguments (WebDriver, int, WebElement)

请告诉我如何处理这个问题。

最佳答案

基本上,您想要反转 By 来获取其字符串,并且您正在使用 xpath

因此更改为返回 String 而不是 WebElement

  public static class addProjInfo_container {
public static String projName_txt(WebDriver driver) {
By by = By.xpath("//label[text()='Project Name']/following-sibling::input");
driver.findElement(by);
return getSelectorAsString(by);

}

public static String getSelectorAsString(By by) {
String str = by.toString();
return str.substring(str.indexOf(" ") , str.length());
}
// and so on for every text field for adding project...
}

希望这能有所帮助

关于java - 如何使用java将webelement转换为selenium中的字符串?请参阅详细信息部分以获取更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33029579/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com