【发布时间】:2017-07-12 13:41:02
【问题描述】:
为了在很多很多页面中获得我想要的正确内容 - 我想出了一个在 99% 的时间都有效的规则:
//a[@class='popular class' and not (contains(text(),'text1')) and not (contains(text(),'text2'))]
另外 1% 导致找到超过 1 个匹配节点,需要对“not (contains(text(), 'specialtext'))”进行更多特殊处理
我发现,我想要的值只有1个字符,最多4个,而特殊处理的情况总是超过4位。
我要做的是在我的 xpath 中添加另一个条件,如下所示:
//a[@class='popular class' and not (contains(text(),'text1')) and not (contains(text(),'text2')) and (text_length() < 5)]
这应该是一个 100% 的规则,它总能得到我需要的特定节点。 我在 Java 中看到过类似的东西:
System.out.println("Select elements which
have string length less than 4");
expr = xpath.compile(".//*[string-length(name()) < '4']")
但找不到与 Python 匹配的函数。
有吗?
【问题讨论】:
标签: python string selenium xpath