diff options
author | George Roman <george.roman.99@gmail.com> | 2019-06-17 16:10:38 +0300 |
---|---|---|
committer | George Roman <george.roman.99@gmail.com> | 2019-07-21 15:55:19 +0300 |
commit | 7d5b324bdac227d173d595116219cb8b9cbf1282 (patch) | |
tree | a2ad301302558fab0233b34bd64d21609d47638b /components/webdriver_server/lib.rs | |
parent | 4128a3893662c61a19b9316cd19eab7533518453 (diff) | |
download | servo-7d5b324bdac227d173d595116219cb8b9cbf1282.tar.gz servo-7d5b324bdac227d173d595116219cb8b9cbf1282.zip |
Implement tag name selector for FindElement WebDriver command
Diffstat (limited to 'components/webdriver_server/lib.rs')
-rw-r--r-- | components/webdriver_server/lib.rs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index 4df9e0d56b6..b714520c8be 100644 --- a/components/webdriver_server/lib.rs +++ b/components/webdriver_server/lib.rs @@ -804,17 +804,25 @@ impl Handler { &self, parameters: &LocatorParameters, ) -> WebDriverResult<WebDriverResponse> { - if parameters.using != LocatorStrategy::CSSSelector { - return Err(WebDriverError::new( - ErrorStatus::UnsupportedOperation, - "Unsupported locator strategy", - )); - } - let (sender, receiver) = ipc::channel().unwrap(); - let cmd = WebDriverScriptCommand::FindElementCSS(parameters.value.clone(), sender); - self.browsing_context_script_command(cmd)?; + match parameters.using { + LocatorStrategy::CSSSelector => { + let cmd = WebDriverScriptCommand::FindElementCSS(parameters.value.clone(), sender); + self.browsing_context_script_command(cmd)?; + }, + LocatorStrategy::TagName => { + let cmd = + WebDriverScriptCommand::FindElementTagName(parameters.value.clone(), sender); + self.browsing_context_script_command(cmd)?; + }, + _ => { + return Err(WebDriverError::new( + ErrorStatus::UnsupportedOperation, + "Unsupported locator strategy", + )); + }, + } match receiver.recv().unwrap() { Ok(value) => { |