{ "info": { "author": "EDEKA DIGITAL", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# BrowserAutomator [![Build Status](https://travis-ci.org/edekadigital/BrowserAutomator.svg?branch=master)](https://travis-ci.org/edekadigital/BrowserAutomator)\n\nBrowserAutomator is a package to help you easily control websites using a simple YAML configuration.\n## Installation\nUsing pip for Python 3:\n`pip install BrowserAutomator`\n\n## Configuration\n#### setup yml\nIn these files you can specify actions that are run in the given order when the utility is started.\n\nThe following actions are available:\n- `zoom`: given a percentage (e.g. 50%), zooms to the specified view\n- `wait`: given a time unit (seconds, minutes, hours, days) and an amount of time, blockingly waits for the amount of time\n- `wait for it`: given an action/a list of actions, tries to run them until it is successful (e.g. interacts where elements have to load for a variable time)\n- `load`: given an url, opens the site in the current tab\n- `new_tab`: given an url, opens the site in a new tab\n- `switch_tabs`: given the index of a tab, switches to the specified tab\n- `interact`: given the `type` of an html element and its `name` (and `content`), the element gets clicked on if no `content` tag is given. Otherwise it get treated like a text field and the `content` is used as input. If you want to use encryption (e.g. passwords) look at the \"Encryption\" chapter down below \n\n The following types are available: `id`, `name`, `class`, `css`, `xpath`, `tag_name`\n\n- `for_every`: given a list of `urls` and a list of `actions`, runs the actions on every url. Urls in `load` and `new_tab` actions are replaced by the current url\n\n#### loop yml\nIn these files you can specify actions that loop after the setup ran once. The check whether or not an action has to run is determined by using modulo, not counting from the start of the program (repeating every 8 hours => repeating every time the clock hits 0:00 AM, 8:00 AM, 4 PM).\n\nThe following actions are available:\n- `repeat every`: given a time unit (seconds, minutes, hours, days) and an amount of time, restarts the script every n seconds/minutes/...\n- `fix wifi`: given a time unit and an amount of time, checks every n seconds/minutes/... if the network is working, and restarts the script if it doesn't\n- `switch tabs`: given a time unit and an amount of time, switches the next tab every n seconds/minutes/... If the last tab is reached, it goes back to the first\n\n\n## Encryption\nIn certain cases it is desired not to store plain text, for example when you want to enter passwords with BrowserAutomator.\nIn this case BrowserAutomator has the possibility of using RSA encryption with a public and an private key.\n### Generating the keys\nTo generate both keys needed, you can use the following function:\n`BrowserAutomator.cipher_util.key_generator(private_key_path, public_key_path, key_length=1024)`\n\nThis creates by default a 1024 bit RSA key pair using the \"pycryptodome\" library and writes the generated keys to the given paths. If desired you can also use any other key generator.\n\n### Encrypting the content\nTo encrypt a string you can use:\n - `BrowserAutomator.cipher_util.encrypt(public_key_path, clear_text)` function which encrypts the clear_text using the given public key and returns the encrypted bytes\n - `BrowserAutomator.cipher_util.write_encrypted(output_file_path, public_key_path, clear_text)` which writes the result to the specified path\n \n The only supported encryption protocol is RSAES-OAEP. \n \n You have to save the encrypted result as a file in order to use it with BrowserAutomator.\n\n### Unsing the content within interaction actions\nTo use the encrypted data in the interact action you have to use the following syntax:\n```\n- interact:\n - type: *like specified above*\n name: *like specified above*\n content:\n private_key_path: *path to your private key*\n encrypted_file_path: *path to the file with encrypted content*\n```\n\n\n## Logging\nif you want to change the predefined logging behavior, change the parameters 'log_path' and 'log_level' in your call to the 'run' function.\n- `log_path` can be any valid path including filename or None (this disables logging to a file). The default is \"/tmp/BrowserAutomator.log\"\n- `log_level` can be any logging level provided by the logging library, a string (\"INFO\", \"DEBUG\" etc.), or None (this disables logging by the library completely). The default is \"ERROR\"\n\n## Usage\nIn Python:\n- `from BrowserAutomator.setup import run`\n- `run([your_setup_yml_filenames], [your_loop_yml_filenames], chromedriver_path=your_chromedriver_path, log_path=your_log_path, log_level=your_log_level)`\n\nif not specified otherwise in chromedriver_path, Selenium is searching for your chromedriver in PATH.\n\nthe default log path is \"/tmp/BrowserAutomator.log\"\n\nthe default log level is \"ERROR\"", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/edekadigital/BrowserAutomator", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "BrowserAutomator", "package_url": "https://pypi.org/project/BrowserAutomator/", "platform": "", "project_url": "https://pypi.org/project/BrowserAutomator/", "project_urls": { "Homepage": "https://github.com/edekadigital/BrowserAutomator" }, "release_url": "https://pypi.org/project/BrowserAutomator/1.0.11/", "requires_dist": null, "requires_python": ">=3.3", "summary": "A package to simplify browser automation", "version": "1.0.11" }, "last_serial": 5133179, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "cbf34a14103b5521b9c81782b06384c7", "sha256": "a99694fdf0c6cfc02522975125c30749bc321b7983b5e6b9228019a041ce0b06" }, "downloads": -1, "filename": "BrowserAutomator-1.0.0.tar.gz", "has_sig": false, "md5_digest": "cbf34a14103b5521b9c81782b06384c7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 10176, "upload_time": "2019-02-08T13:24:14", "url": "https://files.pythonhosted.org/packages/cb/78/5be9ec098c7cf558a8426354dba55015df5919ff8ff50ced1269f3639665/BrowserAutomator-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "561c075d6ee1d11cce7b71df1974ce83", "sha256": "7bf43fae17c28a70053767e3e104c4fb257d6ea0c12c25b69bc12a50951aedb9" }, "downloads": -1, "filename": "BrowserAutomator-1.0.1.tar.gz", "has_sig": false, "md5_digest": "561c075d6ee1d11cce7b71df1974ce83", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 10232, "upload_time": "2019-02-08T14:19:52", "url": "https://files.pythonhosted.org/packages/04/44/23682e6a6fdea4850f6d6652e41804899d08fff8551d4b3ad60f9e6f1039/BrowserAutomator-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "ef686cefd1c8187f8a1f3ad3ebe642cb", "sha256": "2a9d711748f328afa167398f2f58654b3b77f33f58058d43e8205bf637e15b37" }, "downloads": -1, "filename": "BrowserAutomator-1.0.10.tar.gz", "has_sig": false, "md5_digest": "ef686cefd1c8187f8a1f3ad3ebe642cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14589, "upload_time": "2019-04-12T08:50:14", "url": "https://files.pythonhosted.org/packages/04/ab/64efc7f02d32eb5a603e57beef534fa78d95fd8a376c8d9793983a4fa890/BrowserAutomator-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "826665e9e539affccd973adfa7aea0ac", "sha256": "59b85d2a0a4a0768d5900c5588670545939ee805a076ee47ee589f0698eeefa2" }, "downloads": -1, "filename": "BrowserAutomator-1.0.11.tar.gz", "has_sig": false, "md5_digest": "826665e9e539affccd973adfa7aea0ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14586, "upload_time": "2019-04-12T09:45:24", "url": "https://files.pythonhosted.org/packages/0d/82/51da08b165cffef4e760b3fc76cebcf288c77aa564a899e4f13e177db175/BrowserAutomator-1.0.11.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2376096cba2c8cc2939a5b207a67deb9", "sha256": "327140fb68410d85714e94c8daf547f7081b0730f81ed3af7a6cd579a5fc00f5" }, "downloads": -1, "filename": "BrowserAutomator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2376096cba2c8cc2939a5b207a67deb9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 10323, "upload_time": "2019-02-15T09:33:30", "url": "https://files.pythonhosted.org/packages/72/2b/6f56181221a4a4557ddd3ff503b38fda281d1f439be8dc9b548b6bbadebb/BrowserAutomator-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "054e6a250867728c6f9fc9b8a500e360", "sha256": "98b34875a638898dccd58e8a09b84d8cc5034811e3055806142cb3326cff25e7" }, "downloads": -1, "filename": "BrowserAutomator-1.0.3.tar.gz", "has_sig": false, "md5_digest": "054e6a250867728c6f9fc9b8a500e360", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 10526, "upload_time": "2019-02-27T09:39:20", "url": "https://files.pythonhosted.org/packages/58/84/562dd5caeb4a05c321f18f55b4f946a54306597f2092de63fbfbfe67ceb8/BrowserAutomator-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "a667d251c2745c0ff1752d610b8eac6a", "sha256": "30890d644889c492b221bdf7d9e73f88ff27f32371fcdb6304839076f73cb2f3" }, "downloads": -1, "filename": "BrowserAutomator-1.0.4.tar.gz", "has_sig": false, "md5_digest": "a667d251c2745c0ff1752d610b8eac6a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 11564, "upload_time": "2019-03-20T16:28:36", "url": "https://files.pythonhosted.org/packages/63/92/4213376ee237f3e1a490b888e0b60fec180eed4126ee3a2deca00331b640/BrowserAutomator-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "312a5b27ff6a2c173af8e30d93e08410", "sha256": "4387a94d2eb7e03caf74b9e818938fb5552cc4bebd605d2a0ad1d5e52cb838e5" }, "downloads": -1, "filename": "BrowserAutomator-1.0.5.tar.gz", "has_sig": false, "md5_digest": "312a5b27ff6a2c173af8e30d93e08410", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 11554, "upload_time": "2019-03-22T10:30:44", "url": "https://files.pythonhosted.org/packages/ac/26/d7c6c39cdb553d89d4a7fa8b841b4c6e5494933c9a56de274cc589a0dcfb/BrowserAutomator-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "2eb523b08bd43af2781bc23d152af941", "sha256": "333310db53ad1d0af31c865452cb8bab410912b73761e70351cfe157ed0fedc6" }, "downloads": -1, "filename": "BrowserAutomator-1.0.6.tar.gz", "has_sig": false, "md5_digest": "2eb523b08bd43af2781bc23d152af941", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14013, "upload_time": "2019-03-27T09:01:36", "url": "https://files.pythonhosted.org/packages/91/71/09777b972b1a4d4c9bdbedb602832483fc5378f752cf21d3431dec49b8b1/BrowserAutomator-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "24532cc2ee2d2a1cf4f2037258f0cf23", "sha256": "bc4933f1e2e062e32fb5b231817f9c07a99a286b550156e596ad646f89762ff5" }, "downloads": -1, "filename": "BrowserAutomator-1.0.7.tar.gz", "has_sig": false, "md5_digest": "24532cc2ee2d2a1cf4f2037258f0cf23", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14061, "upload_time": "2019-03-27T18:21:07", "url": "https://files.pythonhosted.org/packages/7e/b0/f121abfd5e4adae4e5b78cafd0407dc7e1dbcdba9415ff809e133f229ec5/BrowserAutomator-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "ccdb510a9cdb1ea763a8a44f5688c236", "sha256": "d5efa16f34aa13bdb175a3442ab934c1cb1e48ea71aa083cfa6ed69ccc285c65" }, "downloads": -1, "filename": "BrowserAutomator-1.0.8.tar.gz", "has_sig": false, "md5_digest": "ccdb510a9cdb1ea763a8a44f5688c236", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14286, "upload_time": "2019-03-29T09:42:17", "url": "https://files.pythonhosted.org/packages/9b/94/b6ae27d454e6cffec47614d2c05f4292f1ce47e88c078aa772d90f647f8a/BrowserAutomator-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "0ffb35d221a463d82ed1b1625139ef68", "sha256": "7a905961d317ddc615ef05559662186ca129258b658da13e77566315ad697f73" }, "downloads": -1, "filename": "BrowserAutomator-1.0.9.tar.gz", "has_sig": false, "md5_digest": "0ffb35d221a463d82ed1b1625139ef68", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14567, "upload_time": "2019-04-08T16:08:31", "url": "https://files.pythonhosted.org/packages/7a/33/aee1a1108684d91ecf36f6055f366cd9812406bcfbc74f7434fa6b1aa618/BrowserAutomator-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "826665e9e539affccd973adfa7aea0ac", "sha256": "59b85d2a0a4a0768d5900c5588670545939ee805a076ee47ee589f0698eeefa2" }, "downloads": -1, "filename": "BrowserAutomator-1.0.11.tar.gz", "has_sig": false, "md5_digest": "826665e9e539affccd973adfa7aea0ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 14586, "upload_time": "2019-04-12T09:45:24", "url": "https://files.pythonhosted.org/packages/0d/82/51da08b165cffef4e760b3fc76cebcf288c77aa564a899e4f13e177db175/BrowserAutomator-1.0.11.tar.gz" } ] }