gpt4 book ai didi

java - 如何将字符串转换为按类型

转载 作者:行者123 更新时间:2023-12-01 17:07:09 25 4
gpt4 key购买 nike

如何将 String 转换为 By 类型。

以下是我的场景:按以下方式将对象标识保留在属性文件中

username=By.id("username")
password=By.id("password")

在应用程序中,我想检索类似的值

Properties prop=new Properties();
prop.load("above properties file path")

driver.findelement(prop.getProperty("username"))//在 Eclipse 中,它提示说“WebDriver 类型中的方法 findElement(By) 不适用于参数 (字符串)”

有人可以帮我吗?

我可以使用下面的格式或其他格式,但我想要上述的解决方案

username="//*[@id='username']"
username="username"
driver.findElement(By.xpath(prop.getProperty("username"))
driver.findElement(By.id(prop.getProperty("username"))

最佳答案

您可以创建一个解析器方法,该方法将返回所需的定位器对象,如下所示:

public static By locatorParser(String locator) {

By loc = By.id(locator);

if (locator.contains("id"))
loc = By.id(locator.substring(locator.indexOf("\"") + 1,
locator.length() - 2));

else if (locator.contains("name"))
loc = By.name(locator.substring(locator.indexOf("\"") + 1,
locator.length() - 2));

if (locator.contains("xpath"))
loc = By.xpath(locator.substring(locator.indexOf("\"") + 1,
locator.length() - 2));

return loc;

}

可以通过以下方式在您的代码中调用:

driver.findElement(locatorParser(prop.getProperty("username")));

添加了 id、name、xpath 的逻辑。您可以修改相同的方法来添加所有可用的定位器。希望这有帮助!

关于java - 如何将字符串转换为按类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25096306/

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