允许对表示xpath的字符串进行xpath操作的模块
xpath-string的Python项目详细描述
xpath字符串
提供对xpath字符串的操作的简单模块
目前只支持添加xpath
xpath对象
- 初始化
fromxpath_string.xpathimportXpathxpath_object=Xpath('//some[@xpath="string"]')
- 属性:
xpath-xpath字符串(类型:'str')
xpath添加
- xpath对象+字符串
将字符串添加到xpath对象的结果是xpath对象。 向xpath对象添加字符串与添加两个字符串相同。
xpath_object=Xpath('//some[@xpath="string"]')string='//div[@class="name"]'result=xpath_object+string# result == '//some[@xpath="string"]//div[@class="name"]'# result.xpath == '//some[@xpath="string"]//div[@class="name"]'
同样的情况是,当xpath对象用or运算符表示xpath字符串时
xpath_object=Xpath('//some[@xpath="string"]|\\span')string='//div[@class="name"]'result=xpath_object+string# result == '//some[@xpath="string"]|//span//div[@class="name"]'# result.xpath == '//some[@xpath="string"]|//span//div[@class="name"]'
- xpath对象+xpath对象
将xpath对象添加到xpath对象的结果是xpath对象。
xpath_object_1=Xpath('//some[@xpath="string"]')xpath_object_2=Xpath('//div[@class="name"]')result=xpath_object_1+xpath_object_2# result == '//some[@xpath="string"]//div[@class="name"]'# result.xpath == '//some[@xpath="string"]//div[@class="name"]'
当至少一个xpath对象在xpath的主要部分(不在方括号内)有or运算符时:
xpath_object_1=Xpath('//some[@xpath="string"]|//span')xpath_object_2=Xpath('//div[@class="name"]')result_1=xpath_object_1+xpath_object_2# result_1 == '//some[@xpath="string"]//div[@class="name"|//span//div[@class="name"]'# result_1.xpath == '//some[@xpath="string"]//div[@class="name"|//span//div[@class="name"]'result_2=xpath_object_2+xpath_object_1# result_2 == '//div[@class="name"]//some[@xpath="string"]|//div[@class="name"]//span'# result_2.xpath == '//div[@class="name"]//some[@xpath="string"]|//div[@class="name"]//span'
xpath.format()
内置的字符串过保护。 xpath.format('some string')正在格式化对象的xpath字符串属性。 它返回带有'formatted'xpath属性的新xpath对象。
示例:
xpath_object_1=Xpath('//some[@xpath="{}"]')xpath_object_2=xpath_object_1.format('new')# xpath_object_1 == Xpath('//some[@xpath="{}"]')# xpath_object_2 == Xpath('//some[@xpath="new"]')xpath_object_3=Xpath('//some[@xpath="{sth}"]')xpath_object_4=xpath_object_1.format(sth='one')# xpath_object_3 == Xpath('//some[@xpath="{sth}"]')# xpath_object_4 == Xpath('//some[@xpath="one"]')