You are looking at historical revision 39572 of this page. It may differ significantly from its current revision.
Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
selenium
- Outdated egg!
- selenium
- Introduction
- Author
- Repository
- API
- Session
- Javascript
- URLs
- Navigation
- IME: Input Method Editor
- Frames & windows
- User input
- Elements
- active-element
- get-element-by-id
- get-element-by-name
- get-element-by-class-name
- get-element-by-css-selector
- get-element-by-link-text
- get-element-by-partial-link-text
- get-element-by-tag-name
- get-element-by-xpath
- element-value
- element-tag-name
- element-text
- select-element!
- toggle-element!
- click-element!
- clear-element!
- hover-element!
- drag-element!
- element-enabled?
- element-selected?
- element-displayed?
- element-location
- element-location-in-view
- element-size
- element-css-property-value
- set-element-value!
- active-element-send-modifier!
- element-attribute-value
- same-element?
- get-elements-by-class-name
- get-elements-by-css-selector
- get-elements-by-id
- get-elements-by-name
- get-elements-by-link-text
- get-elements-by-partial-link-text
- get-elements-by-tag-name
- get-elements-by-xpath
- Cookies
- Pages
- Screen
- Mouse actions
- Firefox webdriver
- "Remote" webdriver
- License
- Version history
Introduction
Chicken bindings for Selenium (http://code.google.com/p/selenium)
Very early stages. Implements the JSON Wire Protocol (http://code.google.com/p/selenium/wiki/JsonWireProtocol) and the remote and Firefox webdrivers.
Currently the Firefox webdriver requires a profile directory. You can get the data I'm using for the profile at http://parenteses.org/mario/misc/profile.tar.bz2. Extract this archive and give its full path to with-firefox-webdriver (see the tests/firefox.scm file for usage example).
Warning: since these bindings are in very early development stage, the API is subject to change.
Author
Repository
https://github.com/mario-goulart/selenium
API
Session
quit!
[procedure] (quit!)capabilities
[procedure] (capabilities)set-implicit-wait-time!
[procedure] (set-implicit-wait-time! time-ms)Javascript
execute-javascript
[procedure] (execute-javascript script args)execute-javascript-async
[procedure] (execute-javascript-async script args)javascript-dialog-text
[procedure] (javascript-dialog-text)set-javascript-dialog-text!
[procedure] (set-javascript-dialog-text! text)dismiss-javascript-dialog!
[procedure] (dismiss-javascript-dialog!)accept-javascript-dialog!
[procedure] (accept-javascript-dialog!)URLs
set-url!
[procedure] (set-url! url)current-url
[procedure] (current-url)Navigation
navigate-forward!
[procedure] (navigate-forward!)navigate-backward!
[procedure] (navigate-backward!)IME: Input Method Editor
ime-available-engines
[procedure] (ime-available-engines)ime-active-engine
[procedure] (ime-active-engine)ime-activated?
[procedure] (ime-activated?)ime-deactivate!
[procedure] (ime-deactivate!)ime-activate!
[procedure] (ime-activate!)Frames & windows
focus-frame!
[procedure] (focus-frame! id)focus-window!
[procedure] (focus-window! id)close-window!
[procedure] (close-window! id)window-handle
[procedure] (window-handle)window-handles
[procedure] (window-handles)User input
user-input-speed
[procedure] (user-input-speed)set-user-input-speed!
[procedure] (set-user-input-speed! speed)Elements
active-element
[procedure] (active-element)get-element-by-id
[procedure] (get-element-by-id id)get-element-by-name
[procedure] (get-element-by-name name)get-element-by-class-name
[procedure] (get-element-by-class-name class-name)get-element-by-css-selector
[procedure] (get-element-by-css-selector css-selector)get-element-by-link-text
[procedure] (get-element-by-link-text link-text)get-element-by-partial-link-text
[procedure] (get-element-by-partial-link-text partial-link-text)get-element-by-tag-name
[procedure] (get-element-by-tag-name tag-name)get-element-by-xpath
[procedure] (get-element-by-xpath xpath)element-value
[procedure] (element-value element)element-tag-name
[procedure] (element-tag-name element)element-text
[procedure] (element-text element)select-element!
[procedure] (select-element! element)toggle-element!
[procedure] (toggle-element! element)click-element!
[procedure] (click-element! element)clear-element!
[procedure] (clear-element! element)hover-element!
[procedure] (hover-element! element)drag-element!
[procedure] (drag-element! element)element-enabled?
[procedure] (element-enabled? element)element-selected?
[procedure] (element-selected? element)element-displayed?
[procedure] (element-displayed? element)element-location
[procedure] (element-location element)element-location-in-view
[procedure] (element-location-in-view element)element-size
[procedure] (element-size element)element-css-property-value
[procedure] (element-css-property-value element)set-element-value!
[procedure] (set-element-value! element value)active-element-send-modifier!
[procedure] (active-element-send-modifier! key down?)element-attribute-value
[procedure] (element-attribute-value element attribute)same-element?
[procedure] (same-element? element1 element2)get-elements-by-class-name
[procedure] (get-elements-by-class-name class-name)get-elements-by-css-selector
[procedure] (get-elements-by-css-selector css-selector)get-elements-by-id
[procedure] (get-elements-by-id id)get-elements-by-name
[procedure] (get-elements-by-name name)get-elements-by-link-text
[procedure] (get-elements-by-link-text link-text)get-elements-by-partial-link-text
[procedure] (get-elements-by-partial-link-text partial-link-text)get-elements-by-tag-name
[procedure] (get-elements-by-tag-name tag-name)get-elements-by-xpath
[procedure] (get-elements-by-xpath xpath)Cookies
get-cookies
[procedure] (get-cookies)set-cookie!
[procedure] (set-cookie! name value #!key path domain secure? expiry)get-cookies-by-name
[procedure] (get-cookies-by-name name/regex)get-cookies-by-value
[procedure] (get-cookies-by-value value/regex)get-cookies-by-domain
[procedure] (get-cookies-by-domain domain/regex)get-cookies-by-path
[procedure] (get-cookies-by-path path/regex)cookie-name
[procedure] (cookie-name cookie)cookie-value
[procedure] (cookie-value cookie)cookie-path
[procedure] (cookie-path cookie)cookie-domain
[procedure] (cookie-domain domain)cookie-secure?
[procedure] (cookie-secure? cookie)cookie-expiry
[procedure] (cookie-expiry cookie)Pages
page-source
[procedure] (page-source)page-title
[procedure] (page-title)refresh-page!
[procedure] (refresh-page!)Screen
screen-orientation
[procedure] (screen-orientation)screenshot
[procedure] (screenshot)Mouse actions
move-mouse-cursor-to!
[procedure] (move-mouse-cursor-to! #!optional x y element)click-mouse-button!
[procedure] (click-mouse-button! #!optional button)mouse-button-down!
[procedure] (mouse-button-down!)mouse-button-up!
[procedure] (mouse-button-up!)double-click-mouse-button!
[procedure] (double-click-mouse-button!)Firefox webdriver
with-firefox-webdriver
[procedure] (with-firefox-webdriver profile-dir thunk #!key (scheme 'http) (host "127.0.0.1") (port 7055) (path "/hub") (command "firefox") (capabilities '((browserName . "firefox") (javascriptEnabled . #t) (platform . "ANY"))))"Remote" webdriver
with-remote-webdriver
[procedure] (with-remote-webdriver jar-file thunk #!key (scheme 'http) (host "127.0.0.1") (port 4444) (path "/wd/hub") (command "java -jar") (capabilities '()))License
BSD
Version history
Version 0.6
Category changed from web to testing
Version 0.5
Meta file fix (added category section)
Version v0.4
Fixed versions in release-info file
Version 0.3
Minor fixes: fixed version declaration in .setup. Unexported desired-capabilities, command-executor-host, command-executor-port and command-executor-path.
Version 0.2
Added release-info file
Version 0.1
Initial release