Module which allows to make xpath operations over string which represent xpath
Project description
xpath-string
Simple module providing operations on Xpath string
Currently only addition of xpath is supported
Xpath Object
- Initialization
from xpath_string.xpath import Xpath xpath_object = Xpath('//some[@xpath="string"]')
- Attributes:
xpath - xpath string (type: ‘str’)
Xpath Adding
- Xpath object + string
Result of addition string to Xpath object is Xpath object. Adding string to Xpath object is the same as adding two strings.
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"]'Same situation is when Xpath object represents xpath string with OR operator
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 object + Xpath object
Result of addition Xpath object to Xpath object is Xpath Object.
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"]'When at least one Xpath object has or operator in main part of xpath (not inside square brackets):
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()
The string built-in is overwrote. Xpath.format(‘some string’) is formatting xpath string attribute of a Object. It returns new Xpath object with ‘formatted’ xpath attribute.
Example:
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"]')
Running tests
Install tox (pip install tox) Then:
tox
OR install nose (pip install nose) Then:
nosetests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xpath_string-0.2.2.tar.gz.
File metadata
- Download URL: xpath_string-0.2.2.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59cc17a37f369bf445ed4e4bc34aa13ca22671f0658de51b990002e595d2ba49
|
|
| MD5 |
b45255f1ee48ba2ed9e3b50aa5909588
|
|
| BLAKE2b-256 |
b9fc3cd14793298514fd83b3ce3ec729f63449fd49df80168b93dcb6faaa4f14
|
File details
Details for the file xpath_string-0.2.2-py3-none-any.whl.
File metadata
- Download URL: xpath_string-0.2.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca4abd46c68955ac3bec5a1a23aa8f3df74690aec0f7f4cdfa0ba148999ad264
|
|
| MD5 |
4b423f7bf76ea8de0e301cc1bc3dd182
|
|
| BLAKE2b-256 |
3d8e065f58b2b3ee90c2d01e8a591e2d972669b1a1afa8bb7cc476d972e9e19c
|