https://github.com/raphamorim/capivara
[no longer maintained] Generates & Obtain DOM (Document Object Model)
https://github.com/raphamorim/capivara
Last synced: about 1 year ago
JSON representation
[no longer maintained] Generates & Obtain DOM (Document Object Model)
- Host: GitHub
- URL: https://github.com/raphamorim/capivara
- Owner: raphamorim
- License: apache-2.0
- Created: 2016-03-09T18:44:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-06-26T12:32:50.000Z (almost 10 years ago)
- Last Synced: 2025-04-27T06:49:23.556Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 396 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Capivara.py (No longer maintained)
=======================================
Generates & Obtain DOM (Document Object Model)
Capivara is a library that allows your python obtain the DOM from webpages. Being a excelent tool to test client-side behavior.
.. image:: https://raw.githubusercontent.com/raphamorim/capivara/master/resources/images/capivara.png
:target: #
Installation
============
Custom Requirement: [Phantomjs binary package installed](http://phantomjs.org/download.html)
To install Capivara, simply run:
.. code-block:: bash
$ pip install capivara
Usage
=====
.. code-block:: html
You shall not pass!!
.. code-block:: python
import capivara
document = capivara.init(port=8012) # default = 8000
element = document.querySelector('.container')
assert.equal(element.className, "container main") # true
assert.equal(element.textContext, "You shall not pass!!") # true
Available Methods
=================
querySelector
~~~~~~~~~~~~~
Returns the first element that is a descendant of the element on which it is invoked that matches the specified group of selectors.
.. code-block:: python
element = document.querySelector('.container')
Notes
=====
The capivara is unable to deliver all the properties of the element.
However he can deliver the following properties:
`style`, `classList`, `textContext`, `baseURI`, `className`, `clientHeight`, `clientLeft`, `clientTop`, `clientWidth`, `firstChild`, `title`, `string`, `tagName`, `tabIndex`, `outerHTML`, `localeString`, `localName`, `dir`, `scrollLeft`, `scrollHeight`, `scrollWidth`, `scrollTop`
Roadmap
=======
- Read element propeties after a specified event
- Support `addEventListener` method
- Support elements methods (like `element.classList.add`, `element.innerHTML`)
Contributing
============
Want to contribute? Read the CONTRIBUTING.md.
License
=======
.. image:: https://i.creativecommons.org/l/by/4.0/88x31.png
:target: http://creativecommons.org/licenses/by/4.0/