Radio button - JavaScriptExecutor | Selenium Forum
M
Posted on 08/01/2016
WebDriver driver=new FirefoxDriver();
driver.get("http://www.makemytrip.com/flights");
driver.manage().timeouts().implicitlyWait(10000, TimeUnit.MILLISECONDS);
List<WebElement> allRadios=driver.findElements(By.xpath("//input[@name='way_fields']"));

System.out.println("-----------------");

//((JavascriptExecutor)driver).executeScript("change_trip_type('one_way_button', 'trip_type', 'o');");

((JavascriptExecutor) driver).executeScript("document.getElementById(‘one_way_button1’).click()");

System.out.println("*****************************");

why this code is not working.

---------------------------
-----------------
Exception in thread "main" org.openqa.selenium.WebDriverException: illegal character
Command duration or timeout: 951 milliseconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:55:52'
System info: host: 'samir-laptop', ip: '192.168.1.102', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_60'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=43.0.4, platform=WINDOWS, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 84e4f07c-ac0b-48fb-a286-6f3161c868a6
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:556)
at WebDriverEventLister.exex.main(exex.java:27)
Caused by: org.openqa.selenium.WebDriverException: illegal character
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:55:52'
System info: host: 'samir-laptop', ip: '192.168.1.102', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_60'
Driver info: driver.version: unknown
at <anonymous class>.handleEvaluateEvent(http://www.makemytrip.com/flights:69)

M
Replied on 09/01/2016

use something of this sort

[code:auyn2yf2]WebDriver driver = new FirefoxDriver();
driver.get("http://www.makemytrip.com/flights");
driver.manage().timeouts().implicitlyWait(10000, TimeUnit.MILLISECONDS);
List<WebElement> allRadios = driver.findElements(By
.xpath("//input[@name='way_fields']"));

System.out.println("-----------------");

// ((JavascriptExecutor)driver).executeScript("change_trip_type('one_way_button', 'trip_type', 'o');");

// ((JavascriptExecutor) driver)
// .executeScript("document.getElementById(‘one_way_button1’).click()");
// driver.findElement(By.id("one_way_button1")).click();

JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement element = driver.findElement(By.id("one_way_button1"));
js.executeScript("arguments[0].click();", element);

System.out.println("*****************************");
[/code:auyn2yf2]