The Python Web Auto Drive framework using selenium.webdriver.
Project description
The Python Web Auto Drive Framework.
The pywad is framework for driving the web browser automatically,
using selenium. Need Selenium and python binding of it(selenium-2.35.0 or later).
And need the Chrome Driver if you want to be use Google Chrome.
But we have not been able to support it not yet.
Now, Firefox only.
install
===========
Need Selenium,
see http://www.seleniumhq.org/
Next, execute command.::
$ pip install pywad
How to use
===========
The pywad.Part control the browser when pywad.Part.is_target() return True.
:term:`browser` is a selenium's WebDriver object. :term:`status` is a dictionaly,
but anything ok. The mission of it is to communicate datas for other part object.
For example,
::
from pywad import Part
from pywad.decorator import url_match
class GoogleTop(Part):
@url_match('www\.google\.')
def is_target(self, browser, status):
return True
def run(self, browser, status):
entries = browser.find_elements_by_css_selector('input')
for entry in entries:
if entry.get_attribute('type') == 'text':
entry.send_keys('test\n\n')
def _is_search_button(self, text):
for word in self.search_words:
if word in text:
return True
Next, let running it using Runner object. The Runner object is list-like object.
It expects that the Part object enters. Run the parts objects if execute Runner.run().
::
def main():
url = 'http://www.google.com'
runner = Runner()
runner.append(GoogleTop())
runner.run(url)
if __name__ == '__main__':
main()
The pywad is framework for driving the web browser automatically,
using selenium. Need Selenium and python binding of it(selenium-2.35.0 or later).
And need the Chrome Driver if you want to be use Google Chrome.
But we have not been able to support it not yet.
Now, Firefox only.
install
===========
Need Selenium,
see http://www.seleniumhq.org/
Next, execute command.::
$ pip install pywad
How to use
===========
The pywad.Part control the browser when pywad.Part.is_target() return True.
:term:`browser` is a selenium's WebDriver object. :term:`status` is a dictionaly,
but anything ok. The mission of it is to communicate datas for other part object.
For example,
::
from pywad import Part
from pywad.decorator import url_match
class GoogleTop(Part):
@url_match('www\.google\.')
def is_target(self, browser, status):
return True
def run(self, browser, status):
entries = browser.find_elements_by_css_selector('input')
for entry in entries:
if entry.get_attribute('type') == 'text':
entry.send_keys('test\n\n')
def _is_search_button(self, text):
for word in self.search_words:
if word in text:
return True
Next, let running it using Runner object. The Runner object is list-like object.
It expects that the Part object enters. Run the parts objects if execute Runner.run().
::
def main():
url = 'http://www.google.com'
runner = Runner()
runner.append(GoogleTop())
runner.run(url)
if __name__ == '__main__':
main()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pywad-0.1.0.tar.gz
(4.4 kB
view hashes)