如何读取值并将其作为参数传递给watir中的下一步

时间:2012-02-13 06:43:38

标签: ruby internet-explorer watir

我是watir的新手,并且需要知道如何捕获浏览器上显示的值并将其作为参数传递给下一步。这是html的样子。

文字 - xxxx yyyy zzzz aaaa

显示的文字是卡号。我需要捕获dipslayed的卡号并将其作为参数传递给我的测试中的下一步

2 个答案:

答案 0 :(得分:4)

cardnumber = browser.text.scan /\d{4} \d{4} \d{4} \d{4}/
other_function(cardnumber)

答案 1 :(得分:2)

如果此卡号包含在像div / span / table单元格这样的HTML元素中,那么使用它来找到所需的文本位。

例如,如果你的HTML是这样的:

<div class="CC_Number">1234 5678 9012 3456</div>

然后你可以使用这样的代码:

cardnumber = browser.div(:class => "CC_Number").text
other_function(cardnumber)

您还可以使用正则表达式或其他字符串操作将数字与页面上的其他文本分开。

“您的信用卡号码是:1234 5678 9012 3456。”

cardnumber = browser.text              #get all browser text
     #"Your credit card number is: 1234 5678 9012 3456."
cardnumber = cardnumber.split(":")     #split the text at every colon
     #[0] = "Your credit card number is"
     #[1] = "1234 5678 9012 3456."
cardnumber[1].gsub(".", "")            #replace all instances of "." with ""
     #cardnumber = "1234 5678 9012 3456"

有关查找卡号的正则表达式的示例,请参阅下面的@Dave McNulla的答案。