繁体   English   中英

如何使用ruby修剪文本并将其用作watir中下一步的参数

[英]How to trim text and use it as parameter for next step in watir using ruby

这可能是一个非常简单的问题,但是我对ruby或任何编程语言都是陌生的。 我想修剪一些文本并将其用作下一步的参数。 谁能给我写代码做到这一点。 我正在测试用于金融领域的Web应用程序。 我需要使用在下一步中生成的卡号的cvv2和到期日期作为参数。 在html上显示的文本是

CVV2 - 657  Expiry - 05/12 (mm/yy)

现在,从上面的文本中,我应该下一步下一步是如何仅获取“ 657”和“ 0512”作为要使用的值。 请求紧急援助。

如果您所有的字符串都将采用这种格式,则建议使用regexp和String#gsub 如果您还不了解regexp,有很多地方可以学习,而rubular允许您使用简短的备忘单在浏览器中对其进行测试。

要快速完成,您可以使用

card_details = "CVV2 - 657  Expiry - 05/12 (mm/yy)"
card_details = card_details.scan(/\d{2,}/)
cvv2 = card_details[0]
expiry = card_details[1] + card_details[2]

我不是专家,可能是这样做的更好方法,但是您说的很紧急。

为了将文本从单元格中取出,您可以尝试(我不再使用原始的watir,所以我可能不记得了):

card_details = browser.td(:text => /CVV2/).text

如果这样做不起作用,请尝试一下(实际上是再三考虑,首先尝试)

card_details = browser.cell(:text => /CVV2/).text

对于这些示例,我假设您的浏览器对象称为“浏览器”。

我们可以使用正则表达式来达到相同的目的,

> "CVV2 - 657  Expiry - 05/12 (mm/yy)".match(/\d{3}/)
=> "657"
>"CVV2 - 657  Expiry - 05/12 (mm/yy)".match(/\d+\/\d+/)
=> "05/12"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM