这篇文章介绍selenium web driver中linkText和partialLinkText两个定位器。这两个定位器都有link这个单词,因为它们都是专门用来定位链接的。为什么selenium对链接如此偏爱呢?还得专门有个定位器来定位链接?而且还是一来就来俩?这个问题大家可以考虑考虑,因为我也不知道答案。不过确实是,没有其它的网页元素控件能得此殊荣了。
linkText翻译过来是链接文本的意思。顾名思义,通过链接的text属性来定位。Text属性不像id,class或value一样写在标记体里面,它写在标记中间。对于链接来说就是<a></a>中间。定位链接的语法格式是:
还是以webelements.html网页作演示,用“点击这里跳转”那个链接作例子。我们之前演示过用id来定位这个元素的,又因为它是一个链接,又有文本,所以咱们也可以用linkText来定位。不过还是那句话,有id的时候尽量用id,有简单的办法何必要麻烦呢?重要的事情我就不说三遍了...虽然可能早已经说了三遍。
代码如下:
linkText也是遵循“匹配第一个”的原则,同一网页多次出现的话找第一个。
partialLinkText比linkText多了一个单词partial。Partial的意思是部分的,不完整的。所以partialLinkText代表依靠“部分链接”的文本来定位,你不用非要把链接上的内容都完整地写上,写一半就行,提高了灵活性。假如你的text是“北京市大兴区张家屯”,你嫌打这么多字太麻烦,直接写“北京市大兴区”或是“大兴区张家屯”就行,不用写完整名称。在咱们这个例子中我们可以用“点击这”这三个字就能找到完整链接。其实你一个字“点”也行,因为咱网站简单,没有重复项,否则按照匹配第一个的原则,万一在“点击这里跳转”之前还有一个“点击那里跳转”的链接,那定位的可就不是你想要的了,不保险。所以,即便是partial,也得partial得有价值才好。代码结果如下:
有些人说我能不能再少个字?我把中间那“击”字去了行么?就“点这”成么?有毛病吗?有毛病。注意,虽然说是partial,但一定要连续的字才行,随便从中间挑几个字不连续那不行。英文也一样,得是连续字母才行。你要是不信偏要以身试法,那就会报错。
以上就是linkText和partialLinkText的解释,本篇文章的源代码是SeleniumLinkText。
本篇知识点及注意事项:
1.linkText也是遵循“匹配第一个”的原则,同一网页多次出现的话找第一个。