Python中的Xpath构建器

我在Python中构建相对复杂的xpath表达式,以便将它们传递给selenium.但是,它很容易出错,所以我正在寻找一个允许我构建表达式而不会弄乱字符串的库.例如,而不是写作

locator='//ul[@class="comment-contents"][contains(., "West")]/li[contains(., "reply")]

我可以这样写:

import xpathbuilder as xpb
locator = xpb.root("ul")
             .filter(attr="class",value="comment-contents")
             .filter(xpb.contains(".", "West")
             .subclause("li")
             .filter(xpb.contains (".", "reply"))

这可能不是可读的,但不容易出错.有这样的事吗?

解决方法:

虽然这不是你想要的……你可以使用css选择器

...
import lxml.cssselect
csssel = 'div[class="main"]'
selobj = lxml.cssselect.CSSSelector(csssel)
elements = selobj(documenttree)

生成的XPath表达式在selobj.path中

>>> selobj.path
u"descendant-or-self::div[@class = 'main']"

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...