使用Perl在Selenium中搜索文本

时间:2015-10-20 21:11:47

标签: perl selenium

为了确保用户在此网页上成功验证我正在编写测试,将显示他/她的登录ID - 下面是用户成功验证时使用firepath的HTML。

<a href="#">
 user2@user2
 ::after
</a>

以下是使用页面来源的HTML

<a href="#">
 user2@store2
</a>

我之所以发布两个HTML来源,是因为我不太确定哪个来源有助于排除故障。我得到的错误是

Timed out after 30000ms

以下是我正在使用的Perl代码。我正在使用WWW :: Selenium模块。

my $locator = q{//a[contains(@href, "user2")]};
my $ret = $sel->wait_for_text_present($locator, 2000);

下面部分有效,但我希望看到用户的登录ID,我不想使用点击。

ret = $sel->click('//a[contains(@href,"#")]');

提前感谢您的任何提示。

2 个答案:

答案 0 :(得分:0)

我很抱歉,因为我不知道Perl。

在java中,我会使用定位器上的getText()来获取您要查找的用户名。

使用点击中的代码并将定位器设置为该路径。

编辑试试这个:

$mylocator= $driver->find_element('//a[contains(@href,"#")]');

然后在该元素上使用getText()。

这可能是在Perl:

$username= $mylocator->get_text();

答案 1 :(得分:0)

在仔细查看WWW :: Selenium的模块文档之后,我忽略了一个函数,下面是解决我的问题的代码和函数。

$sel->is_text_present("user2\@store2");