我正在尝试从地址字符串中提取邮政编码,但它包含换行符\ n字符。请问如何从硒储存的var中除去它?我曾尝试使用storeEval | "${Addrsss}".replace("\n", "") | Address
。但是,selenium ide将返回错误Threw an exception: unterminated string literal
这是地址:
${Address} = "100 RILEY DR\n AVONDALE,\n ARIZONA\n 85323-2004"
答案 0 :(得分:1)
尝试使用此转义序列>将> unescape替换为删除换行符的解决方法:
%0A
)替换为空白(''),
storeEval | unescape(escape(storedVars['has_nl']).replace(/%0A/g,'')) | no_nl
这个新行字符似乎来自HTML中断标记(<br />
),它由浏览器-Selenium-IDE组合呈现,然后由Selenium IDE提取为新行字符(\\n
) 。
答案 1 :(得分:0)
可能的方法: 1)找到元素的正确css(或xPath)定位符(地址) 2)然后使用
从元素中获取内容(文本)String cssSelecotr=..blablabla..
//1st way
String myAddress=driver.findELement(by.cssSelector(cssSelector)).getText();
//2nd way, using js executor
JavascriptExecutor js = (JavascriptExecutor) driver;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("var x = $(\""+cssSelecotr+"\");");
stringBuilder.append("return x.text().toString();") ;
String myAddress= (String) js.executeScript(stringBuilder.toString());
3)然后您可以为yourAdress
应用regExp(所有可见符号) // myAddress ="100 RILEY DR\n AVONDALE,\n ARIZONA\n 85323-2004";
String myAdressEdited = myAddress.replaceAll("[^\\x20-\\x7E]+","");
希望这有帮助