gpt4 book ai didi

java - 使用 sendkeys 时,Web 驱动程序会跳过特殊字符 - "("和 "&"字符

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

作为自动化测试的一部分,我需要在 Web 应用程序的文本框中键入带有特殊字符的字符串(“(PT books)”)。

当我运行测试时,"("总是被跳过。 ")"没有问题。我开始调查它并尝试了所有需要 shift key 的特殊字符待按("~!@#$%^&*()_+{}|:<>?")发现总是跳过"(""&" 。我还在 Google 搜索框上尝试了相同的测试,在这种情况下,所有字符都显示出来。

我正在使用 Selenium Web 驱动程序(2.25.0) + Java + Firefox(15.0.1)。我还有setEnableNativeEvents在我的 Firefox 配置文件中设置为 false。

我也使用 Internet Explorer 尝试过此操作,效果很好。我想坚持使用 Firefox,因为我的大部分测试都在 Firefox 上运行。

任何关于原因的想法 "(""&"没有显示在我正在测试的网络应用程序上?

这是我正在使用的代码

FirefoxProfile profile = new FirefoxProfile();
profile.setEnableNativeEvents( false);
WebDriver driver = new FirefoxDriver(profile);

String searchTerm = "~!@#$%^&*()_+{}|:<>?" ;

String Link = "http://" ;

driver.get( "http://www.google.com");
driver.findElement(By. id("gbqfq")).sendKeys(searchTerm);

driver.get(Link);
driver.findElement(By. id("ctl00_ctl00_FindField_FindField_ctl00_findFieldLinks_basic")).click();
driver.findElement(By. id(UIMapping.SearchBoxId)).sendKeys(searchTerm);

最佳答案

我也遇到了同样的问题。我有一个简单的解决方法,这不是我正在寻找的解决方案,但暂时这会有所帮助。如果有更好的处理方法请提出。

        driver = new FirefoxDriver();
String searchKey = "TShirt(M)";
driver.Navigate().GoToUrl("http://mywebsite.com/");

if (searchKey.Contains("(") || searchKey.Contains("&"))
{
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].value ='" + searchKey + "';", driver.FindElement(By.Id("search_text")));
}
else
{
driver.FindElement(By.Id("search_text")).SendKeys(searchKey);
}

driver.FindElement(By.Id("search_button")).Click();

关于java - 使用 sendkeys 时,Web 驱动程序会跳过特殊字符 - "("和 "&"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12603210/

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