https://github.com/wbrowne/notify
Simple watcher and notifier with Ruby, Chrome and Watir
https://github.com/wbrowne/notify
chromedriver ruby-cli watir-webdriver
Last synced: 10 months ago
JSON representation
Simple watcher and notifier with Ruby, Chrome and Watir
- Host: GitHub
- URL: https://github.com/wbrowne/notify
- Owner: wbrowne
- Created: 2020-05-08T15:32:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-17T16:48:12.000Z (over 5 years ago)
- Last Synced: 2025-01-12T14:30:30.728Z (12 months ago)
- Topics: chromedriver, ruby-cli, watir-webdriver
- Language: Ruby
- Homepage:
- Size: 119 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Notify is a (very stupid) ruby script that will periodically visit a web page and notify you based on changing web content which you specify.
For example - you would like to know when a certain product page no longer displays the text "Not in stock".
IE you want a Logitech camera and don't want to spend all your free time refreshing the product page.
```json
{
"url": "https://www.logitech.com/de-de/product/hd-pro-webcam-c920s",
"criteria": {
"js_selector": "#section-product-hero > div.container.product-hero-container-top.js-productContainerTop > div.product-details-ctn.js-productDetailsCtn > div > div.product-details-block.cart.buyAtPartner.black > div > p.product-hero-availability-message",
"match": {
"condition": "ne",
"text": "Nicht auf Lager"
}
},
"interval": 60
},
...
```
## Installation
(only macOS currently)
- Install [chromedriver](https://chromedriver.chromium.org/)
- Fetch dependencies:
```bash
bundle install
```
## Usage
```bash
ruby ./main.rb watch config.json
```
```json
{
"url": "https://www.logitech.com/de-de/product/hd-pro-webcam-c920s",
"criteria": {
"js_selector": "#section-product-hero > div.container.product-hero-container-top.js-productContainerTop > div.product-details-ctn.js-productDetailsCtn > div > div.product-details-block.cart.buyAtPartner.black > div > p.product-hero-availability-message",
"match": {
"condition": "ne",
"text": "Nicht auf Lager"
}
},
"interval": 60,
"notification": {
"name": "Logitech webcam stock check",
"from": "watcher@noti.fy",
"to": "desperateforalogitechwebcam@gmail.com",
"redirect": "https://www.logitech.com/de-de/product/hd-pro-webcam-c920s",
"server": {
"address": "smtp.notify.com",
"port": 587,
"domain": "mail.notify.com",
"username": "watcher@noti.fy",
"password": "$up@S3cu]Ur3"
}
}
}
```
Command helper:
```bash
ruby ./main.rb help
```