URLs generated by changedetection.io (such as <code>{{ '{{diff_url}}' }}</code>) require the <code>BASE_URL</code> environment variable set.<br/>
URLs generated by changedetection.io (such as <code>{{ '{{diff_url}}' }}</code>) require the <code>BASE_URL</code> environment variable set.<br>
Your <code>BASE_URL</code> var is currently "{{settings_application['current_base_url']}}"
Your <code>BASE_URL</code> var is currently "{{settings_application['current_base_url']}}"
<br>
<br>
Warning: Contents of <code>{{ '{{diff}}' }}</code>, <code>{{ '{{diff_removed}}' }}</code>, and <code>{{ '{{diff_added}}' }}</code> depend on how the difference algorithm perceives the change. For example, an addition or removal could be perceived as a change in some cases. <a target="_new" href="https://github.com/dgtlmoon/changedetection.io/wiki/Using-the-%7B%7Bdiff%7D%7D,-%7B%7Bdiff_added%7D%7D,-and-%7B%7Bdiff_removal%7D%7D-notification-tokens">More Here</a> </br>
Warning: Contents of <code>{{ '{{diff}}' }}</code>, <code>{{ '{{diff_removed}}' }}</code>, and <code>{{ '{{diff_added}}' }}</code> depend on how the difference algorithm perceives the change. For example, an addition or removal could be perceived as a change in some cases. <a target="_new" href="https://github.com/dgtlmoon/changedetection.io/wiki/Using-the-%7B%7Bdiff%7D%7D,-%7B%7Bdiff_added%7D%7D,-and-%7B%7Bdiff_removal%7D%7D-notification-tokens">More Here</a> </br>
<spanclass="pure-form-message-inline">Some sites use JavaScript to create the content, for this you should <ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Fetching-pages-with-WebDriver">use the Chrome/WebDriver Fetcher</a></span><br/>
<spanclass="pure-form-message-inline">Some sites use JavaScript to create the content, for this you should <ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Fetching-pages-with-WebDriver">use the Chrome/WebDriver Fetcher</a></span><br>
<spanclass="pure-form-message-inline">You can use variables in the URL, perfect for inserting the current date and other logic, <ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Handling-variables-in-the-watched-URL">help and examples here</a></span><br/>
<spanclass="pure-form-message-inline">You can use variables in the URL, perfect for inserting the current date and other logic, <ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Handling-variables-in-the-watched-URL">help and examples here</a></span><br>
</div>
</div>
<divclass="pure-control-group">
<divclass="pure-control-group">
{{ render_field(form.title, class="m-d") }}
{{ render_field(form.title, class="m-d") }}
@ -106,10 +106,10 @@
{{ render_field(form.webdriver_delay) }}
{{ render_field(form.webdriver_delay) }}
<divclass="pure-form-message-inline">
<divclass="pure-form-message-inline">
<strong>If you're having trouble waiting for the page to be fully rendered (text missing etc), try increasing the 'wait' time here.</strong>
<strong>If you're having trouble waiting for the page to be fully rendered (text missing etc), try increasing the 'wait' time here.</strong>
<br/>
<br>
This will wait <i>n</i> seconds before extracting the text.
This will wait <i>n</i> seconds before extracting the text.
{% if using_global_webdriver_wait %}
{% if using_global_webdriver_wait %}
<br/><strong>Using the current global default settings</strong>
<br><strong>Using the current global default settings</strong>
<spanclass="pure-form-message-inline"><strong>Note!: //text() function does not work where the <element> contains <![CDATA[]]></strong></span><br/>
<spanclass="pure-form-message-inline"><strong>Note!: //text() function does not work where the <element> contains <![CDATA[]]></strong></span><br>
{% endif %}
{% endif %}
<spanclass="pure-form-message-inline">One rule per line, <i>any</i> rules that matches will be used.<br/>
<spanclass="pure-form-message-inline">One rule per line, <i>any</i> rules that matches will be used.<br>
<ul>
<ul>
<li>CSS - Limit text to this CSS rule, only text matching this CSS rule is included.</li>
<li>CSS - Limit text to this CSS rule, only text matching this CSS rule is included.</li>
Please be sure that you thoroughly understand how to write CSS, JSONPath, XPath{% if jq_support %}, or jq selector{%endif%} rules before filing an issue on GitHub! <a
Please be sure that you thoroughly understand how to write CSS, JSONPath, XPath{% if jq_support %}, or jq selector{%endif%} rules before filing an issue on GitHub! <a
href="https://github.com/dgtlmoon/changedetection.io/wiki/CSS-Selector-help">here for more CSS selector help</a>.<br/>
href="https://github.com/dgtlmoon/changedetection.io/wiki/CSS-Selector-help">here for more CSS selector help</a>.<br>
</span>
</span>
</div>
</div>
<divclass="pure-control-group">
<divclass="pure-control-group">
@ -334,7 +334,7 @@ Unavailable") }}
<li>Extracts text in the final output (line by line) after other filters using regular expressions;
<li>Extracts text in the final output (line by line) after other filters using regular expressions;
<ul>
<ul>
<li>Regular expression ‐ example <code>/reports.+?2022/i</code></li>
<li>Regular expression ‐ example <code>/reports.+?2022/i</code></li>
<li>Use <code>//(?aiLmsux))</code> type flags (more <ahref="https://docs.python.org/3/library/re.html#index-15">information here</a>)<br/></li>
<li>Use <code>//(?aiLmsux))</code> type flags (more <ahref="https://docs.python.org/3/library/re.html#index-15">information here</a>)<br></li>
<li>Keyword example ‐ example <code>Out of stock</code></li>
<li>Keyword example ‐ example <code>Out of stock</code></li>
<li>Use groups to extract just that text ‐ example <code>/reports.+?(\d+)/i</code> returns a list of years only</li>
<li>Use groups to extract just that text ‐ example <code>/reports.+?(\d+)/i</code> returns a list of years only</li>
</ul>
</ul>
@ -353,7 +353,7 @@ Unavailable") }}
<divclass="pure-control-group">
<divclass="pure-control-group">
{% if visualselector_enabled %}
{% if visualselector_enabled %}
<spanclass="pure-form-message-inline">
<spanclass="pure-form-message-inline">
The Visual Selector tool lets you select the <i>text</i> elements that will be used for the change detection ‐ after the <i>Browser Steps</i> has completed.<br/><br/>
The Visual Selector tool lets you select the <i>text</i> elements that will be used for the change detection ‐ after the <i>Browser Steps</i> has completed.<br><br>
Copy and Paste your Distill.io watch 'export' file, this should be a JSON file.</br>
Copy and Paste your Distill.io watch 'export' file, this should be a JSON file.<br>
This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, <code>config:selections</code>, the rest (including <code>schedule</code>) are ignored.
This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, <code>config:selections</code>, the rest (including <code>schedule</code>) are ignored.
<br/>
<br>
<p>
<p>
How to export? <ahref="https://distill.io/docs/web-monitor/how-export-and-import-monitors/">https://distill.io/docs/web-monitor/how-export-and-import-monitors/</a><br/>
How to export? <ahref="https://distill.io/docs/web-monitor/how-export-and-import-monitors/">https://distill.io/docs/web-monitor/how-export-and-import-monitors/</a><br>
Be sure to set your default fetcher to Chrome if required.</br>
Be sure to set your default fetcher to Chrome if required.<br>
Base URL used for the <code>{{ '{{ base_url }}' }}</code> token in notifications and RSS links.<br/>Default value is the ENV var 'BASE_URL' (Currently "{{settings_application['current_base_url']}}"),
Base URL used for the <code>{{ '{{ base_url }}' }}</code> token in notifications and RSS links.<br>Default value is the ENV var 'BASE_URL' (Currently "{{settings_application['current_base_url']}}"),
<ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Configurable-BASE_URL-setting">read more here</a>.
<ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Configurable-BASE_URL-setting">read more here</a>.
</span>
</span>
</div>
</div>
@ -105,13 +105,13 @@
<p>Use the <strong>Basic</strong> method (default) where your watched sites don't need Javascript to render.</p>
<p>Use the <strong>Basic</strong> method (default) where your watched sites don't need Javascript to render.</p>
<p>The <strong>Chrome/Javascript</strong> method requires a network connection to a running WebDriver+Chrome server, set by the ENV var 'WEBDRIVER_URL'. </p>
<p>The <strong>Chrome/Javascript</strong> method requires a network connection to a running WebDriver+Chrome server, set by the ENV var 'WEBDRIVER_URL'. </p>
</span>
</span>
<br/>
<br>
Tip: <ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#brightdata-proxy-support">Connect using BrightData Proxies, find out more here.</a>
Tip: <ahref="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#brightdata-proxy-support">Connect using BrightData Proxies, find out more here.</a>
<spanclass="pure-form-message-inline">Render anchor tag content, default disabled, when enabled renders links as <code>(link text)[https://somesite.com]</code>
<spanclass="pure-form-message-inline">Render anchor tag content, default disabled, when enabled renders links as <code>(link text)[https://somesite.com]</code>
<br/>
<br>
<i>Note:</i> Changing this could affect the content of your existing watches, possibly trigger alerts etc.
<i>Note:</i> Changing this could affect the content of your existing watches, possibly trigger alerts etc.
</span>
</span>
</fieldset>
</fieldset>
@ -151,7 +151,7 @@ nav
{{ render_field(form.application.form.global_ignore_text, rows=5, placeholder="Some text to ignore in a line
{{ render_field(form.application.form.global_ignore_text, rows=5, placeholder="Some text to ignore in a line
/some.regex\d{2}/ for case-INsensitive regex
/some.regex\d{2}/ for case-INsensitive regex
") }}
") }}
<spanclass="pure-form-message-inline">Note: This is applied globally in addition to the per-watch rules.</span><br/>
<spanclass="pure-form-message-inline">Note: This is applied globally in addition to the per-watch rules.</span><br>
<spanclass="pure-form-message-inline">
<spanclass="pure-form-message-inline">
<ul>
<ul>
<li>Note: This is applied globally in addition to the per-watch rules.</li>
<li>Note: This is applied globally in addition to the per-watch rules.</li>
<p><strong>Tip</strong>: You can connect to websites using <ahref="https://brightdata.grsm.io/n0r16zf7eivq">BrightData</a> proxies, their service <strong>WebUnlocker</strong> will solve most CAPTCHAs, whilst their <strong>Residential Proxies</strong> may help to avoid CAPTCHA altogether. </p>
<p><strong>Tip</strong>: You can connect to websites using <ahref="https://brightdata.grsm.io/n0r16zf7eivq">BrightData</a> proxies, their service <strong>WebUnlocker</strong> will solve most CAPTCHAs, whilst their <strong>Residential Proxies</strong> may help to avoid CAPTCHA altogether. </p>
<p>It may be easier to try <strong>WebUnlocker</strong> first, WebUnlocker also supports country selection.</p>
<p>It may be easier to try <strong>WebUnlocker</strong> first, WebUnlocker also supports country selection.</p>
<p>
<p>
When you have <ahref="https://brightdata.grsm.io/n0r16zf7eivq">registered</a>, enabled the required services, visit the <Ahref="https://brightdata.com/cp/api_example?">API example page</A>, then select <strong>Python</strong>, set the country you wish to use, then copy+paste the example URL below<br/>
When you have <ahref="https://brightdata.grsm.io/n0r16zf7eivq">registered</a>, enabled the required services, visit the <Ahref="https://brightdata.com/cp/api_example?">API example page</A>, then select <strong>Python</strong>, set the country you wish to use, then copy+paste the example URL below<br>
The Proxy URL with BrightData should start with <code>http://brd-customer...</code>
The Proxy URL with BrightData should start with <code>http://brd-customer...</code>