selenium-webdriver のソース コードを調べてみたところ、要素ロケータ戦略のリストが見つかりました。
webdriver.Locator.Strategy = {
'className': webdriver.Locator.factory_('class name'),
'class name': webdriver.Locator.factory_('class name'),
'css': webdriver.Locator.factory_('css selector'),
'id': webdriver.Locator.factory_('id'),
'js': webdriver.Locator.factory_('js'),
'linkText': webdriver.Locator.factory_('link text'),
'link text': webdriver.Locator.factory_('link text'),
'name': webdriver.Locator.factory_('name'),
'partialLinkText': webdriver.Locator.factory_('partial link text'),
'partial link text': webdriver.Locator.factory_('partial link text'),
'tagName': webdriver.Locator.factory_('tag name'),
'tag name': webdriver.Locator.factory_('tag name'),
'xpath': webdriver.Locator.factory_('xpath')
};
これをシズルセレクターエンジンで拡張することは可能でしょうか?
誰かが Java でそれを行いましたが、JavaScript ライブラリで動作させる方法がわかりません。
やってみると
webdriver.Locator.Strategy.sizzle = webdriver.Locator.factory_('sizzle');
私は得る:
TypeError: 未定義のプロパティ 'Strategy' を読み取れません
したがって、拡張するのは簡単ではありません...