1
use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";
use Test::Exception;
use Text::Table; 
our ($a,$critical);

print "Enter text:";
$a = <>;
print "Enter critical value:";
$critical = <>;
print $a;
print $critical;
|
|
|
|
|
$sel->click_ok("//div[\@class='x-combo-list-inner']/div[8]");
my $v7 = $sel->get_text("//div[\@class='x-combo-list-inner']/div[8]");
print($v7 . "\n");
print($critical . "\n");
if ($critical eq $v7)
{
perform operations
}
else
{
don't perform operation
}

我从 cmd i 输入的关键'Last 45 Days' 值和从 div[8] 检索到的值以及上述代码中存储在 v7 中的值也是相同的('Last 45 Days')。但是当它遇到 if 循环时,它不执行操作。还有其他方法可以比较这些字符串吗?

4

2 回答 2

2

您可能在 $critical 上附加了一个换行符。尝试使用 chomp($critical); 删除它

于 2012-06-19T06:35:20.060 回答
0

正如 Kludas 所说,您很可能在$critical. 您当然没有显示删除它的代码,并且返回的字符串get_text不太可能以换行符结尾。

我建议您使用Data::Dump(注意NOT Data::Dumper)来显示您的字符串。安装模块后,只需

use Data::Dump;

dd $critical;
dd $v7;

并且任何不可打印的内容都将显示为适当的可见转义码。

于 2012-06-19T08:28:47.463 回答