# Easy Chrome
## Description
This package is used as an extension to selenium chrome WebDriver. It contains shortcuts to control driver more easily.
## Features
1. Auto download chromedriver by webdriver_manager with custom cache.
2. Shortcuts to control driver and element.
## Examples
- init chrome driver.
```
from easy_chrome import Driver
driver = Driver.set_chrome(detach_mode=True)
```
- wait an element located by XPATH to be visible in DOM.
```
// bare usage
WebDriverWait(driver, wait_time).until(EC.visibility_of_element_located((By.XPATH, xpath))
// with easy-chrome
driver.wait_visible(xpath)
```
- get local storage.
```
// bare usage
driver.execute_script("return window.sessionStorage.getItem(arguments[0]);", key)
// with easy-chrome
driver.get_local_storage(key)
```
- wait username input field to be visible in DOM, clear the content and write username to it.
```
input_xpath = "//input[@id='username']
// bare usage
WebDriverWait(driver, wait_time).until(EC.visibility_of_element_located((By.XPATH, input_xpath)).clear()
sleep(0.2)
WebDriverWait(driver, wait_time).until(EC.visibility_of_element_located((By.XPATH, input_xpath)).sendkeys(username)
// with easy-chrome
driver.wait_visible(input_xpath).clear_and_type(user_name)
```
## Source Code
The source code is currently hosted on GitHub at: https://github.com/wcuong/easy-chrome
## Release
The package is currently hosted on Pypi at: https://pypi.org/project/easy-chrome/
## ChangeLog
### 2.0.1 2023-11-04
- Init project
### 2.0.2 2023-11-06
- Change headless mode to --headless=new
- Ignore DownloadBubble Feature, which enforces an download popup in incognito mode.
### 2.0.3 2023-11-08
- add custom windows chrome detect method because sometimes webdriver_manager fails to detect.
Raw data
{
"_id": null,
"home_page": "",
"name": "easy-chrome",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "easy chrome chrome_driver selenium chromedriver",
"author": "VanCuong",
"author_email": "vuvancuong94@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/28/37/c760c33316e993fe93e5fd7ab0f98e3fcc3dc02b93695037ef7737d55ce1/easy-chrome-2.0.3.tar.gz",
"platform": null,
"description": "# Easy Chrome\r\n\r\n## Description\r\n\r\nThis package is used as an extension to selenium chrome WebDriver. It contains shortcuts to control driver more easily.\r\n\r\n## Features\r\n\r\n1. Auto download chromedriver by webdriver_manager with custom cache.\r\n2. Shortcuts to control driver and element.\r\n\r\n\r\n## Examples\r\n\r\n- init chrome driver.\r\n\r\n```\r\nfrom easy_chrome import Driver\r\ndriver = Driver.set_chrome(detach_mode=True)\r\n```\r\n\r\n- wait an element located by XPATH to be visible in DOM.\r\n\r\n```\r\n// bare usage\r\nWebDriverWait(driver, wait_time).until(EC.visibility_of_element_located((By.XPATH, xpath))\r\n\r\n// with easy-chrome\r\ndriver.wait_visible(xpath)\r\n```\r\n\r\n- get local storage.\r\n\r\n```\r\n// bare usage\r\ndriver.execute_script(\"return window.sessionStorage.getItem(arguments[0]);\", key)\r\n\r\n// with easy-chrome\r\ndriver.get_local_storage(key)\r\n```\r\n\r\n- wait username input field to be visible in DOM, clear the content and write username to it.\r\n\r\n```\r\ninput_xpath = \"//input[@id='username']\r\n\r\n// bare usage\r\nWebDriverWait(driver, wait_time).until(EC.visibility_of_element_located((By.XPATH, input_xpath)).clear()\r\nsleep(0.2)\r\nWebDriverWait(driver, wait_time).until(EC.visibility_of_element_located((By.XPATH, input_xpath)).sendkeys(username)\r\n\r\n// with easy-chrome\r\ndriver.wait_visible(input_xpath).clear_and_type(user_name)\r\n```\r\n\r\n## Source Code\r\n\r\nThe source code is currently hosted on GitHub at: https://github.com/wcuong/easy-chrome\r\n\r\n\r\n## Release\r\n\r\nThe package is currently hosted on Pypi at: https://pypi.org/project/easy-chrome/\r\n\r\n\r\n## ChangeLog\r\n### 2.0.1 2023-11-04\r\n- Init project\r\n \r\n### 2.0.2 2023-11-06\r\n- Change headless mode to --headless=new\r\n- Ignore DownloadBubble Feature, which enforces an download popup in incognito mode.\r\n\r\n### 2.0.3 2023-11-08\r\n- add custom windows chrome detect method because sometimes webdriver_manager fails to detect.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "selenium chrome extension with shortcuts to control driver and element",
"version": "2.0.3",
"project_urls": {
"Source": "https://github.com/wcuong/easy-chrome"
},
"split_keywords": [
"easy",
"chrome",
"chrome_driver",
"selenium",
"chromedriver"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6e5d2c1b0c8240ebd38669c4667ae81103b1a70f70eff4d09cb2b3782c320fea",
"md5": "aa45c26022bb7e23def89044a90f5c64",
"sha256": "14f85febdaa572074c8e17a9d98d11ef60bba9b308eb6752bcb02829427b241e"
},
"downloads": -1,
"filename": "easy_chrome-2.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "aa45c26022bb7e23def89044a90f5c64",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 8729,
"upload_time": "2023-11-08T04:37:00",
"upload_time_iso_8601": "2023-11-08T04:37:00.467705Z",
"url": "https://files.pythonhosted.org/packages/6e/5d/2c1b0c8240ebd38669c4667ae81103b1a70f70eff4d09cb2b3782c320fea/easy_chrome-2.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2837c760c33316e993fe93e5fd7ab0f98e3fcc3dc02b93695037ef7737d55ce1",
"md5": "b5ec8417ee4677b22a0f20e25d7e2ef2",
"sha256": "9ac6205f45f5838d306a7837fd89ac99aa3013230bfae6ec595e8b36cd8fa7f7"
},
"downloads": -1,
"filename": "easy-chrome-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "b5ec8417ee4677b22a0f20e25d7e2ef2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 8430,
"upload_time": "2023-11-08T04:37:03",
"upload_time_iso_8601": "2023-11-08T04:37:03.676968Z",
"url": "https://files.pythonhosted.org/packages/28/37/c760c33316e993fe93e5fd7ab0f98e3fcc3dc02b93695037ef7737d55ce1/easy-chrome-2.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-08 04:37:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wcuong",
"github_project": "easy-chrome",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "easy-chrome"
}