Ajax Spider
Browser-based crawler for JavaScript-heavy applications.
Accessor: client.ajax_spider
Actions
Method
Description
scan(url, in_scope, context_name, subtree_only)
Start Ajax spidering
scan_as_user(context_name, user_name, url, subtree_only)
Spider as user
stop
Stop the Ajax spider
add_allowed_resource(regex, enabled)
Allow resource
remove_allowed_resource(regex)
Remove allowed resource
set_enabled_allowed_resource(regex, enabled)
Toggle resource
add_excluded_element(context_name, description, element)
Exclude element
remove_excluded_element(context_name, description)
Remove exclusion
Options
Method
Description
set_option_browser_id(browser)
Browser to use (e.g. firefox-headless)
set_option_max_crawl_depth(depth)
Max crawl depth
set_option_max_crawl_states(states)
Max crawl states (0=unlimited)
set_option_max_duration(minutes)
Max duration
set_option_number_of_browsers(n)
Parallel browsers
set_option_click_default_elems(bool)
Click default elements
set_option_click_elems_once(bool)
Click each element once
set_option_event_wait(ms)
Wait after events
set_option_reload_wait(ms)
Wait after page reload
set_option_random_inputs(bool)
Use random inputs
Views
Method
Description
status
Running status ("running" / "stopped")
results(start, count)
Crawled resources
full_results
Complete results
number_of_results
Result count
allowed_resources
Allowed resources list
option_browser_id
Current browser
option_max_crawl_depth
Current depth limit
option_max_crawl_states
Current states limit
option_max_duration
Current duration limit
option_number_of_browsers
Current browser count
Example
client.ajax_spider.scan(url: " http://spa-app.com " )
loop do
status = client.ajax_spider.status[" status " ].as_s
break if status != " running "
sleep 5 .seconds
end
results = client.ajax_spider.full_results
Previous
Spider
Next
Active Scan