Best Selenium code snippet using org.openqa.selenium.Proxy.toString
Source:DriverUtil.java
...32import org.openqa.selenium.remote.DesiredCapabilities;33import org.openqa.selenium.support.ui.ExpectedConditions;34import org.openqa.selenium.support.ui.WebDriverWait;35public class DriverUtil{36 public static String unicodetoString(String unicode){37 if(unicode==null||"".equals(unicode)){38 return null;39 }40 StringBuilder sb = new StringBuilder();41 int i = -1;42 int pos = 0;43 while((i=unicode.indexOf("\\u", pos)) != -1){44 sb.append(unicode.substring(pos, i));45 if(i+5 < unicode.length()){46 pos = i+6;47 sb.append((char)Integer.parseInt(unicode.substring(i+2, i+6), 16));48 }49 }50 return sb.toString();51 }52 private static void upLoadByCommonPost(String uploadUrl) throws IOException {53 String end = "\r\n";54 String twoHyphens = "--";55 String boundary = "******";56 URL url = new URL(uploadUrl);57 HttpURLConnection httpURLConnection = (HttpURLConnection) url58 .openConnection();59 httpURLConnection.setChunkedStreamingMode(128 * 1024);// 128K åºè¯¥æç
§æ件大å°æ¥å®ä¹60 // å
许è¾å
¥è¾åºæµ61 httpURLConnection.setDoInput(true);62 httpURLConnection.setDoOutput(true);63 httpURLConnection.setUseCaches(false);64 // 使ç¨POSTæ¹æ³65 httpURLConnection.setRequestMethod("POST");66 httpURLConnection.setRequestProperty("Connection", "Keep-Alive");67 httpURLConnection.setRequestProperty("Charset", "UTF-8");68 httpURLConnection.setRequestProperty("Content-Type",69 "multipart/form-data;boundary=" + boundary);70 DataOutputStream dos = new DataOutputStream(71 httpURLConnection.getOutputStream());72 dos.writeBytes(twoHyphens + boundary + end);73 dos.writeBytes("Content-Disposition: form-data; name=\"uploadfile\"; filename=\"1.jpg\";" + end);74 dos.writeBytes("Content-Type: image/jpeg" + end);75 dos.writeBytes(end);76 FileInputStream fis = new FileInputStream("d:\\test.jpg");77 byte[] buffer = new byte[1024*100]; // 100k78 int count = 0;79 // 读åæ件80 while ((count = fis.read(buffer)) != -1) {81 dos.write(buffer, 0, count);82 }83 fis.close();84 dos.writeBytes(end);85 dos.writeBytes(twoHyphens + boundary + twoHyphens + end);86 dos.flush();87 InputStream is = httpURLConnection.getInputStream();88 InputStreamReader isr = new InputStreamReader(is, "utf-8");89 BufferedReader br = new BufferedReader(isr);90 String result;91 while ((result=br.readLine()) != null){92 System.out.println(result);93 }94 dos.close();95 is.close();96 }97 /**98 * WebDriveråæ¢å°å½å页é¢99 */100 public static void switchToCurrentPage(WebDriver driver) {101 String handle = driver.getWindowHandle();102 for (String tempHandle : driver.getWindowHandles()) {103 if(!tempHandle.equals(handle)) {104 driver.switchTo().window(tempHandle);105 }106 }107 }108 /**109 * åæ¢frame110 * @param locator111 * @return è¿ä¸ªé©±å¨ç¨åºåæ¢å°ç»å®çframe112 */113 public static void switchToFrame(By locator,WebDriver driver) {114 driver.switchTo().frame(driver.findElement(locator));115 }116 117 /**118 * å¤ææ¯å¦æå¼¹çªï¼å¦æå¼¹çªåè¿åå¼¹çªå
çtextï¼å¦åè¿å空119 */120 public static String alertFlag(WebDriver driver){121 String str = "";122 try {123 Alert alt = driver.switchTo().alert();124 str = alt.getText();125 System.out.println(str);126 alt.accept();127 128 } catch (Exception e) {129 //ä¸åä»»ä½å¤ç130 }131 return str;132 }133 134 135 136 /**137 * å
³éææè¿ç¨(é对64ä½ç)ï¼ä»
æ¯æåæ¥138 * @param driver139 * @throws IOException 140 */141 public static void close(WebDriver driver,String exec) throws IOException{142 if(driver != null){143 driver.close();144 Runtime.getRuntime().exec(exec);145 }146 }147 148 149 /**150 * å
³éææè¿ç¨(é对32ä½ç)151 * @param driver152 */153 public static void close(WebDriver driver){154 if(driver != null){155 driver.quit();156 }157 }158 159 160 /**161 * 162 * @param type ie æ chrome163 * @return164 */165 public static WebDriver getDriverInstance(String type){166 WebDriver driver = null;167 if(type.equals("ie")){168 System.setProperty("webdriver.ie.driver", "C:/ie/IEDriverServer.exe");169 DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();170 ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);171 ieCapabilities.setCapability(InternetExplorerDriver.BROWSER_ATTACH_TIMEOUT,15000);172 driver = new InternetExplorerDriver(ieCapabilities);173 driver.manage().window().maximize();174 }175 if (type.equals("chrome")){176 ChromeOptions options = new ChromeOptions();177 options.addArguments("disable-infobars");// 设置chromeæµè§å¨çåæ°ï¼ä½¿å
¶ä¸å¼¹æ¡æ示ï¼chromeæ£å¨åèªå¨æµè¯è½¯ä»¶çæ§å¶ï¼178 options.setBinary("C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chrome.exe");179 System.setProperty("webdriver.chrome.driver", "C:/chrome/chromedriver.exe");180 driver = new ChromeDriver(options);181 driver.manage().window().maximize();182 }183 return driver;184 }185 /**186 * 使ç¨ä»£çip187 * @param type ie æ chrome188 * @return189 */190 public static WebDriver getDriverInstance(String type,String ip,int port){191 WebDriver driver = null;192 if(type.equals("ie")){193 System.setProperty("webdriver.ie.driver", "C:/ie/IEDriverServer.exe");194 195 String proxyIpAndPort = ip+ ":" + port;196 Proxy proxy=new Proxy();197 proxy.setHttpProxy(proxyIpAndPort).setFtpProxy(proxyIpAndPort).setSslProxy(proxyIpAndPort);198 199 DesiredCapabilities cap = DesiredCapabilities.internetExplorer();200 //代ç201 cap.setCapability(CapabilityType.ForSeleniumServer.AVOIDING_PROXY, true);202 cap.setCapability(CapabilityType.ForSeleniumServer.ONLY_PROXYING_SELENIUM_TRAFFIC, true);203 System.setProperty("http.nonProxyHosts", ip);204 cap.setCapability(CapabilityType.PROXY, proxy);205 206 cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);207 cap.setCapability(InternetExplorerDriver.BROWSER_ATTACH_TIMEOUT,15000);208 driver = new InternetExplorerDriver(cap);209 driver.manage().window().maximize();210 }211 return driver;212 }213 214 215 /**216 * è·åcookie217 * @param driver218 * @return219 */220 public static String getCookie(WebDriver driver) {221 //è·å¾cookieç¨äºåå
222 Set<org.openqa.selenium.Cookie> cookies = driver.manage().getCookies(); 223 StringBuffer tmpcookies = new StringBuffer();224 for (org.openqa.selenium.Cookie cookie : cookies) {225 String name = cookie.getName();226 String value = cookie.getValue();227 tmpcookies.append(name + "="+ value + ";");228 }229 String str = tmpcookies.toString();230 if(!str.isEmpty()){231 str = str.substring(0,str.lastIndexOf(";"));232 }233 return str; 234 }235 236 /**237 * è·åcookie238 * @param driver239 * @param jsession240 * @return241 */242 public static String getCookie(WebDriver driver,String jsession) {243 //è·å¾cookieç¨äºåå
244 Set<org.openqa.selenium.Cookie> cookies = driver.manage().getCookies(); 245 StringBuffer tmpcookies = new StringBuffer();246 247 for (org.openqa.selenium.Cookie cookie : cookies) {248 String name = cookie.getName();249 String value = cookie.getValue();250 tmpcookies.append(name + "="+ value + ";");251 }252 tmpcookies.append("JSESSIONID");253 tmpcookies.append("=");254 tmpcookies.append(jsession);255 String str = tmpcookies.toString();256 return str; 257 }258 /**259 * è·åcookie æå260 * @param driver261 * @return262 */263 public static String getCookieCmd(WebDriver driver) {264 //è·å¾cookieç¨äºåå
265 Set<org.openqa.selenium.Cookie> cookies = driver.manage().getCookies();266 StringBuffer tmpcookies = new StringBuffer();267 for (org.openqa.selenium.Cookie cookie : cookies) {268 String name = cookie.getName();269 String value = cookie.getValue();270 if (name.equals("ProVersion")){271 tmpcookies.append(name + "=;");272 }else {273 tmpcookies.append(name + "="+ value + ";");274 }275 }276 String str = tmpcookies.toString();277 if(!str.isEmpty()){278 str = str.substring(0,str.lastIndexOf(";"));279 }280 return str;281 }282 /**283 * æ ¹æ®èç¹ä½ç½®ï¼å¯¹èç¹è¿è¡è£åªï¼è·å¾æªå¾284 * @param driver285 * @param webElement286 * @return287 * @throws IOException288 */289 public static BufferedImage createElementImage(WebDriver driver, WebElement webElement) throws IOException {290 // è·å¾webElementçä½ç½®å大å°ã291 Point location = webElement.getLocation();292 Dimension size = webElement.getSize();293 // å建å
¨å±æªå¾ã294 BufferedImage originalImage = ImageIO.read(new ByteArrayInputStream(takeScreenshot(driver)));295 // æªåwebElementæå¨ä½ç½®çåå¾ã296 BufferedImage croppedImage = originalImage.getSubimage(location.getX(), location.getY(), size.getWidth(),size.getHeight());297 return croppedImage;298 }299 /**300 * ä¿åæªå¾æ件301 * @param bi302 * @throws IOException303 */304 public static void writeImageFile(BufferedImage bi,String imgPath) throws IOException {305 File outputfile = new File(imgPath);306 ImageIO.write(bi, "jpg", outputfile);307 }308// public StringBuffer connection(Map<String,String> map, String strURL) {309// // start310// HttpClient httpClient = new HttpClient();311//312// httpClient.getHostConfiguration().setProxy("10.192.10.101", 8080); //313// httpClient.getParams().setAuthenticationPreemptive(true);314//315// HttpConnectionManagerParams managerParams = httpClient316// .getHttpConnectionManager().getParams();317// // 设置è¿æ¥è¶
æ¶æ¶é´(åä½æ¯«ç§)318// managerParams.setConnectionTimeout(30000);319// // 设置读æ°æ®è¶
æ¶æ¶é´(åä½æ¯«ç§)320// managerParams.setSoTimeout(120000);321//322// PostMethod postMethod = new PostMethod(strURL);323// // å°è¯·æ±åæ°XMLçå¼æ¾å
¥postMethodä¸324// String strResponse = null;325// StringBuffer buffer = new StringBuffer();326// // end327// try {328// //设置åæ°å°è¯·æ±å¯¹è±¡ä¸ï¼éç¹æ¯mapä¸æå 个åæ°NameValuePairæ°ç»ä¹å¿
须设置æå ï¼ä¸ç¶329// //ä¼ç©ºæéå¼å¸¸330// NameValuePair[] nvps = new NameValuePair[4];331// int index = 0;332// for(String key : map.keySet()){333// nvps[index++]=new NameValuePair(key, map.get(key));334// }335// postMethod.setRequestBody(nvps);336// int statusCode = httpClient.executeMethod(postMethod);337// if (statusCode != HttpStatus.SC_OK) {338// throw new IllegalStateException("Method failed: "339// + postMethod.getStatusLine());340// }341// BufferedReader reader = null;342// reader = new BufferedReader(new InputStreamReader(343// postMethod.getResponseBodyAsStream(), "UTF-8"));344// while ((strResponse = reader.readLine()) != null) {345// buffer.append(strResponse);346// }347// } catch (Exception ex) {348// throw new IllegalStateException(ex.toString());349// } finally {350// // éæ¾è¿æ¥351// postMethod.releaseConnection();352// }353// return buffer;354// }355 public static byte[] takeScreenshot(WebDriver driver) throws IOException {356 TakesScreenshot takesScreenshot = (TakesScreenshot) driver;357 return takesScreenshot.getScreenshotAs(OutputType.BYTES);358 }359 /**360 * æ ¹æ®ä¼ å
¥å
å å¨templateså
ä¸å建æ¤å
,并è¿å该路å¾361 * @param packageName362 * @return...
Source:ElementDecorator.java
...49 //SnapLogger.LOGGER.debug("Instance of :" + field.getDeclaringClass().getSimpleName());50 pageName = field.getDeclaringClass().getSimpleName();51 elementName = field.getName();52 type = field.getType().getSimpleName();53 how = findBy.how().toString();54 using = findBy.using();55 //SnapLogger.LOGGER.debug("-------END----------");56 WyneLogger.LOGGER.debug("************************Started Identifyin elements of page:" + pageName);57 WyneLogger.LOGGER.debug("IDENTIFYING THE OBJECT -- PAGE NAME:[" + pageName + "],ELEMENT NAME: [" + elementName + "], TYPE: [" + type + "],"58 + " HOW:[" + how + "] , USING:[" + using + "]");59 WyneLogger.LOGGER.debug("************************Completed identifying elements of the page: " + pageName);60 }61 if (!(WebElement.class.isAssignableFrom(field.getType()) || isDecoratableList(field))) {62 return null;63 }64 ElementLocator locator = factory.createLocator(field);65 if (locator == null) {66 return null;67 }68 Class<?> fieldType = field.getType();69 if (WebElement.class.equals(fieldType)) {70 fieldType = SlWebElement.class;71 //SnapLogger.LOGGER.debug(findBy.toString());72 }73 //EMMLog.exit("Internal Framework methods - decorator");74 if (WebElement.class.isAssignableFrom(fieldType)) {75 return proxyForLocator(loader, fieldType, locator);76 } else if (List.class.isAssignableFrom(fieldType)) {77 Class<?> erasureClass = getErasureClass(field);78 return proxyForListLocator(loader, erasureClass, locator);79 } else {80 return null;81 }82 }83 84 private Class<?> getErasureClass(Field field) {85 // Type erasure in Java isn't complete. Attempt to discover the generic86 // interfaceType of the list.87 Type genericType = field.getGenericType();88 if (!(genericType instanceof ParameterizedType)) {89 return null;90 }91 return (Class<?>) ((ParameterizedType) genericType).getActualTypeArguments()[0];92 }93 private boolean isDecoratableList(Field field) {94 if (!List.class.isAssignableFrom(field.getType())) {95 return false;96 }97 Class<?> erasureClass = getErasureClass(field);98 if (erasureClass == null) {99 return false;100 }101 if (!WebElement.class.isAssignableFrom(erasureClass)) {102 return false;103 }104 if (field.getAnnotation(FindBy.class) == null && field.getAnnotation(FindBys.class) == null) {105 return false;106 }107 return true;108 }109 /**110 * Generate a type-parameterized locator proxy for the element in question. We use our customized InvocationHandler111 * here to wrap classes.112 *113 * @param loader ClassLoader of the wrapping class114 * @param interfaceType Interface wrapping the underlying WebElement115 * @param locator ElementLocator pointing at a proxy of the object on the page116 * @param <T> The interface of the proxy.117 * @return a proxy representing the class we need to wrap.118 */119 protected <T> T proxyForLocator(ClassLoader loader, Class<T> interfaceType, ElementLocator locator) {120 InvocationHandler handler = new ElementHandler(interfaceType, myfield, locator);121 122 T proxy;123 proxy = interfaceType.cast(Proxy.newProxyInstance(124 loader, new Class[]{interfaceType, WebElement.class, WrapsElement.class, Locatable.class}, handler));125 //SnapLogger.LOGGER.debug("Locator Info:" + locator.toString() + ", Element:" + interfaceType.toString() );126 return proxy;127 128 }129 /**130 * generates a proxy for a list of elements to be wrapped.131 *132 * @param loader classloader for the class we're presently wrapping with proxies133 * @param interfaceType type of the element to be wrapped134 * @param locator locator for items on the page being wrapped135 * @param <T> class of the interface.136 * @return proxy with the same type as we started with.137 */138 @SuppressWarnings("unchecked")139 protected <T> List<T> proxyForListLocator(ClassLoader loader, Class<T> interfaceType, ElementLocator locator) {...
Source:PhantomjsUtils.java
...35 String tmp = "";36 while ((tmp = br.readLine()) != null) {37 sbf.append(tmp + "\n");38 }39 System.out.println(sbf.toString());40 List list = JSON.parseObject(sbf.toString(), List.class);41 for (Object o : list) {42 Map map = (Map) o;43 resultMap.put(map.get("name").toString(), map.get("value").toString());44 }45 return resultMap;46 }47 public static PhantomJSDriver getPhantomJs() {48 String osname = System.getProperties().getProperty("os.name");49 DesiredCapabilities desiredCapabilities = DesiredCapabilities.phantomjs();50 if (osname.equals("Linux")) {//å¤æç³»ç»çç¯å¢win or Linux51 System.setProperty("phantomjs.binary.path", "/usr/bin/phantomjs");52 } else {53 desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "G:\\phantomjs\\bin\\phantomjs.exe");54 }55 desiredCapabilities.setJavascriptEnabled(true);56 //设置åæ°57// desiredCapabilities.setCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0");...
Source:DriverSetting.java
...56 driver.manage().window().setSize(new Dimension(1248, 800)); 57 try {58 if(driver.findElement(By.id("main-frame-error"))!=null){ 59 proxyBlocked=true;60 LogWriter.write(LogFiles.BadProxy.name(), Proxies.list.get(i).toString());61 }62 63 } catch (Exception e) {64 LogWriter.write(LogFiles.GoodProxy.name(), Proxies.list.get(i).toString());65 }66 67 } catch (Exception e) {68 e.printStackTrace();69 driver=null;70 } 71 72 System.out.println(proxyBlocked);73 int j=0;74 while(proxyBlocked){75 i++;j++;76 if(i==Proxies.list.size())77 i=0;78 if(driver!=null)79 driver.quit();80 81 capabilities = DesiredCapabilities.chrome();82 options = new ChromeOptions();83 options.addExtensions(new File(Proxies.list.get(i).getPath()));84 capabilities.setCapability(ChromeOptions.CAPABILITY,options ); 85 driver = new ChromeDriver(service,capabilities);86 driver.manage().window().setSize(new Dimension(1248, 800));87 driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);88 driver.manage().deleteAllCookies();89 try {90 if(driver.findElement(By.id("main-frame-error"))!=null){ 91 proxyBlocked=true;92 LogWriter.write(LogFiles.BadProxy.name(), Proxies.list.get(i).toString());93 }94 95 } catch (Exception e) {96 LogWriter.write(LogFiles.MyExecptions.name(),"\n\n\n"+e.getMessage()+"\n\n\n");97 proxyBlocked=false;98 LogWriter.write(LogFiles.GoodProxy.name(), Proxies.list.get(i).toString());99 }100 if(j==Proxies.list.size()){ 101 LogWriter.write(LogFiles.LimetedProxy.name(), "*** ALL PROXY ARE LIMITED ***");102 System.exit(0);103 }104 }105 106 try {107 System.out.println("Testing driver ");108 driver.get("http://checkip.amazonaws.com");109 } catch (Exception e) {110 System.out.println("Test Failed! Closing driver." + e.getMessage());111 LogWriter.write(LogFiles.BadProxy.name(), " Proxy speed probleme ");112 driver.quit();
...
Source:LVClientWebClientTest.java
...37 // DesiredCapabilities cap = new DesiredCapabilities.chrome();38 // cap.setCapability("applicationCachEnabled",false);39 chromeOptions.setCapability("applicationCacheEnabled",false);40 // org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();41 // proxy.setHttpProxy(proxySelector.getProxy().address().toString().replace("/",""));42 // chromeOptions.setCapability("proxy", proxy);43 // chromeOptions.addArguments("user-agent=Mozilla/5.0 (Linux; Android 10; SM-A102U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Mobile Safari/537.36");44 // chromeOptions.addArguments("--headless", "--window-size=1920,1200");45 for (int i = 0; i < 1; i++) {46 System.out.println(i);47 Thread.sleep(5000);48 WebDriver driver = new ChromeDriver(chromeOptions);49 driver.manage().deleteAllCookies();50 // driver.get("chrome://settings/clearBrowserData");51 driver.get("http://uk.louisvuitton.com/eng-gb/products/outdoor-slingbag-k45-nvprod2780009v");52 // driver.get("http://agent1973.herokuapp.com/ip");53 //driver.get("http://www.bbc.com");54// String source =driver.getPageSource();55 // System.out.print(source);56 By by = new By.ByClassName("lv-stock-indicator");57 WebElement webElement = driver.findElement(by);58 System.out.println(webElement.getText());59 driver.quit();60 }61}62 public void testHermes(){63 URL url = null;64 String response = null;65 HttpURLConnection con = null;66 try {67 url = new URL("hermes url");68 con = (HttpURLConnection) url.openConnection();69 con.setRequestMethod("GET");70 BufferedReader in = new BufferedReader(71 new InputStreamReader(con.getInputStream()));72 String inputLine;73 StringBuffer content = new StringBuffer();74 while ((inputLine = in.readLine()) != null) {75 content.append(inputLine);76 }77 in.close();78 response = content.toString();79 } catch (IOException e) {80 e.printStackTrace();81 }82 }83 // @Test84 public void toestAddrr() throws IOException {85 java.net.Proxy webProxy86 = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("103.227.254.118", 2021));87 System.out.println(webProxy.address());88 String host = webProxy.address().toString().replace("/","").split(":")[0];89 System.out.print("---££"+ host);90 InetAddress addr=InetAddress.getByName(host);//here type proxy server ip91 System.out.println("----->" + addr.getHostName());92 System.out.println(addr.isReachable(1000)); // 1 second time for response93 }94}...
Source:JavaScriptTestingSerialProxy.java
...83 Object ans = ((JavascriptExecutor) driver).executeScript(javaScriptFunction+" return func2("+argString+");");84 System.out.println("after exec");85 long t4 = System.currentTimeMillis();86 87 String ansStr = url + ";" + ans.toString() + ";0;" + 88 String.valueOf(t3 - t2) + ";" + 89 String.valueOf(t4 - t3) + ";";90 91 writer.println(ansStr);92 }93 catch(WebDriverException e){94 System.out.println(url + ": " + e.toString());95 writer.println(url + ";" + e.toString().split("\n")[0]);96 driver.quit();97 driver = new FirefoxDriver(cap);98 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);99 driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);100 driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);101 }102 }103 }104 105 //Close the browser106 driver.quit();107 long stop = System.currentTimeMillis();108 //Close output writer109 try{...
Source:DemoAppIT.java
...57 try {58 assertEquals("Sample application with HTML builder", driver.findElement(By.xpath("//h1[1]"))59 .getText());60 } catch (Error e) {61 verificationErrors.append(e.toString());62 }63 }6465 @Test66 public void testHelloWorld() throws Exception {67 driver.get(baseUrl + contextroot + "/");68 try {69 assertEquals("Hello World!", driver.findElement(By.xpath("//h2[position()=1]"))70 .getText());71 } catch (Error e) {72 verificationErrors.append(e.toString());73 }74 }757677 @After78 public void tearDown() throws Exception {79 driver.quit();80 String verificationErrorString = verificationErrors.toString();81 if (!"".equals(verificationErrorString)) {82 fail(verificationErrorString);83 }84 }8586 private boolean isElementPresent(By by) {87 try {88 driver.findElement(by);89 return true;90 } catch (NoSuchElementException e) {91 return false;92 }93 }94
...
Source:WebElementProxy.java
...34 }3536 @Override37 public Object invoke(Object object, Method method, Object[] objects) throws Throwable {38 if ("toString".equals(method.getName())) {39 return locator.toString();40 }4142 return realInvoke(method, objects, true);43 }4445 private Object realInvoke(Method method, Object[] objects, boolean catchStale) throws Throwable {46 WebElement element;4748 ActionHelper.waitUntilPageLoaded(driver, locator);49 ActionHelper.needWaitForPageLoad(false);50 try {51 element = locator.findElement();52 } finally {53 ActionHelper.needWaitForPageLoad(true);
...
toString
Using AI Code Generation
1import org.openqa.selenium.Proxy;2import org.openqa.selenium.remote.DesiredCapabilities;3import org.openqa.selenium.remote.RemoteWebDriver;4import org.openqa.selenium.WebDriver;5import org.openqa.selenium.firefox.FirefoxDriver;6import org.openqa.selenium.firefox.FirefoxProfile;7import org.openqa.selenium.firefox.internal.ProfilesIni;8import org.openqa.selenium.firefox.FirefoxOptions;9import org.openqa.selenium.firefox.FirefoxDriverLogLevel;10import org.openqa.selenium.firefox.FirefoxDriverService;11import org.openqa.selenium.firefox.FirefoxOptions;12import org.openqa.selenium.remote.CapabilityType;13import org.openqa.selenium.remote.DesiredCapabilities;14import org.openqa.selenium.remote.RemoteWebDriver;15import java.io.File;16import java.io.IOException;17import java.util.HashMap;18import java.util.Map;19import java.util.Scanner;20import java.util.concurrent.TimeUnit;21public class ProxySetting {22 public static void main(String[] args) throws IOException {23 ProfilesIni profile = new ProfilesIni();24 FirefoxProfile myprofile = profile.getProfile("selenium");25 myprofile.setPreference("network.proxy.ssl", "localhost");26 myprofile.setPreference("network.proxy.ssl_port", 8888);27 myprofile.setPreference("network.proxy.socks", "localhost");28 myprofile.setPreference("network.proxy.socks_port", 8888);29 myprofile.setPreference("network.proxy.no_proxies_on", "localhost");30 myprofile.setPreference("network.proxy.ftp", "localhost");31 myprofile.setPreference("network.proxy.ftp_port", 8888);32 myprofile.setPreference("network.proxy.share_proxy_settings", true);33 myprofile.setPreference("network.proxy.type", 1);34 myprofile.setPreference("network.proxy.http", "localhost");35 myprofile.setPreference("network.proxy.http_port", 8888);36 myprofile.setPreference("network.proxy.ssl", "localhost");37 myprofile.setPreference("network.proxy.ssl_port", 8888);38 myprofile.setPreference("network.proxy.socks", "localhost");39 myprofile.setPreference("network.proxy.socks_port", 8888);40 myprofile.setPreference("network.proxy.no_proxies_on", "localhost");41 myprofile.setPreference("network.proxy.ftp", "localhost");
toString
Using AI Code Generation
1import org.openqa.selenium.Proxy;2import org.openqa.selenium.remote.DesiredCapabilities;3import org.openqa.selenium.remote.CapabilityType;4import org.openqa.selenium.WebDriver;5import org.openqa.selenium.firefox.FirefoxDriver;6public class ProxyExample {7 public static void main(String[] args) {8 WebDriver driver = new FirefoxDriver();9 Proxy proxy = new Proxy();10 proxy.setHttpProxy("localhost:8080");11 DesiredCapabilities cap = new DesiredCapabilities();12 cap.setCapability(CapabilityType.PROXY, proxy);13 driver = new FirefoxDriver(cap);14 System.out.println("Page title is: " + driver.getTitle());15 driver.quit();16 }17}18import org.openqa.selenium.Proxy;19import org.openqa.selenium.remote.DesiredCapabilities;20import org.openqa.selenium.remote.CapabilityType;21import org.openqa.selenium.WebDriver;22import org.openqa.selenium.firefox.FirefoxDriver;23public class ProxyExample {24 public static void main(String[] args) {25 WebDriver driver = new FirefoxDriver();26 Proxy proxy = Proxy.createBrowserMobProxy();27 proxy.setHttpProxy("localhost:8080");28 DesiredCapabilities cap = new DesiredCapabilities();29 cap.setCapability(CapabilityType.PROXY, proxy);30 driver = new FirefoxDriver(cap);31 System.out.println("Page title is: " + driver.getTitle());32 driver.quit();33 }34}35import org.openqa.selenium.Proxy;36import org.openqa.selenium.remote.DesiredCapabilities;37import org.openqa.selenium.remote.CapabilityType;38import
toString
Using AI Code Generation
1System.out.println(proxy.toString());2System.out.println(proxy.toString());3System.out.println(proxy.toString());4System.out.println(proxy.toString());5System.out.println(proxy.toString());6System.out.println(proxy.toString());7System.out.println(proxy.toString());8System.out.println(proxy.toString());9System.out.println(proxy.toString());10System.out.println(proxy.toString());11System.out.println(proxy.toString());12System.out.println(proxy.toString());13System.out.println(proxy.toString());14System.out.println(proxy.toString());15System.out.println(proxy.toString());16System.out.println(proxy.toString());17System.out.println(proxy.toString());18System.out.println(proxy.toString());19System.out.println(proxy.toString());20System.out.println(proxy.toString());21System.out.println(proxy.toString());22System.out.println(proxy.toString());23System.out.println(proxy.toString());24System.out.println(proxy.toString());25System.out.println(proxy.toString());26System.out.println(proxy.toString());27System.out.println(proxy
toString
Using AI Code Generation
1import org.openqa.selenium.Proxy2import org.openqa.selenium.remote.DesiredCapabilities3import org.openqa.selenium.remote.RemoteWebDriver4import org.openqa.selenium.By5import org.openqa.selenium.WebDriver6def proxy = new Proxy()7proxy.setSslProxy("
LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.
Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.
What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.
Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.
Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.
How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.
Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.
Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.
LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!