func (s *selectable) FindByXPath(selector string) *Selection {
	return newSelection(s.session, s.selectors.Append(target.XPath, selector).Single())
}
FindByXPath finds exactly one element by XPath selector.
package agouti
import (
	"github.com/sclevine/agouti/api"
	"github.com/sclevine/agouti/internal/element"
	"github.com/sclevine/agouti/internal/target"
)
type Selectors interface {
	String() string
}
type selectable struct {
	session   apiSession
	selectors target.Selectors
}
type apiSession interface {
	element.Client
	Delete() error
	GetActiveElement() (*api.Element, error)
	GetWindow() (*api.Window, error)
	GetWindows() ([]*api.Window, error)
	SetWindow(window *api.Window) error
	SetWindowByName(name string) error
	DeleteWindow() error
	GetScreenshot() ([]byte, error)
	GetCookies() ([]*api.Cookie, error)
	SetCookie(cookie *api.Cookie) error
	DeleteCookie(name string) error
	DeleteCookies() error
	GetURL() (string, error)
	SetURL(url string) error
	GetTitle() (string, error)
	GetSource() (string, error)
	MoveTo(element *api.Element, point api.Offset) error
	Frame(frame *api.Element) error
	FrameParent() error
	Execute(body string, arguments []interface{}, result interface{}) error
	Forward() error
	Back() error
	Refresh() error
	GetAlertText() (string, error)
	SetAlertText(text string) error
	AcceptAlert() error
	DismissAlert() error
	NewLogs(logType string) ([]api.Log, error)
	GetLogTypes() ([]string, error)
	DoubleClick() error
	Click(button api.Button) error
	ButtonDown(button api.Button) error
	ButtonUp(button api.Button) error
	TouchDown(x, y int) error
	TouchUp(x, y int) error
	TouchMove(x, y int) error
	TouchClick(element *api.Element) error
	TouchDoubleClick(element *api.Element) error
	TouchLongClick(element *api.Element) error
	TouchFlick(element *api.Element, offset api.Offset, speed api.Speed) error
	TouchScroll(element *api.Element, offset api.Offset) error
	DeleteLocalStorage() error
	DeleteSessionStorage() error
	SetImplicitWait(timout int) error
	SetPageLoad(timout int) error
	SetScriptTimeout(timout int) error
}
func (s *selectable) Find(selector string) *Selection {
	return newSelection(s.session, s.selectors.Append(target.CSS, selector).Single())
}