Рет қаралды 2,909
#highlightelement #selenium #seleniumcsharp
What is IJavaScriptExecutor?
How to highlight the element?
Highlight elements in action globally using ElementClicking and ElementValueChanging events
Selenium with C# 57 - Capturing Selenium Events using Event Firing Web Driver class selenium events
• Selenium with C# 57 - ...
Selenium with C# 51 - IJavaScriptExecutor interface | How to execute JavaScript from Selenium
• Selenium with C# 51 - ...
What is IJavaScriptExecutor?
IJavaScriptExecutor is an Interface
It helps to execute JavaScript through Selenium WebDriver
ExecuteScript method takes variable parameters
1st parameter is the JavaScript code
2nd parameter is the element on which JavaScript has to execute
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].style.border='3px dotted blue'", element);
Possible Interview Questions
What is IJavaScriptExecutor?
What is EventFiringWebDriver?
How to highlight the element in action?
Code :
[TestMethod]
public void HighlightTheElementWorking()
{
IWebDriver driver = new ChromeDriver();
driver.Manage().Window.Maximize();
driver.Url = "uitestpractice....";
EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver(driver);
// Click events
eventFiringWebDriver.ElementClicking += EventFiringWebDriver_ElementClicking;
// Element Value changing events
eventFiringWebDriver.ElementValueChanging += EventFiringWebDriver_ElementValueChanging;
driver = eventFiringWebDriver;
driver.FindElement(By.LinkText("Create New")).Click();
driver.FindElement(By.Id("FirstName")).SendKeys("Tyler");
driver.FindElement(By.Id("LastName")).SendKeys("Durden");
driver.FindElement(By.Id("EnrollmentDate")).SendKeys("12/10/1999");
driver.FindElement(By.XPath("//input[@value='Create']")).Click();
driver.FindElement(By.Id("Search_Data")).SendKeys("Tyler");
driver.FindElement(By.XPath("//input[@value='Find']")).Click();
driver.Quit();
}
private void EventFiringWebDriver_ElementValueChanging(object sender, WebElementValueEventArgs e)
{
HighlightElement(e.Element, e.Driver);
}
private void EventFiringWebDriver_ElementClicking(object sender, WebElementEventArgs e)
{
HighlightElement(e.Element, e.Driver);
}
private IWebElement HighlightElement(IWebElement element, IWebDriver driver)
{
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].style.border='3px dotted blue'", element);
return element;
}