I am trying to use the same chrome version and chrome driver version “127.0.0.1:9111”
Chrome driver is downloaded from this link: https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.100/win64/chromedriver-win64.zip
Error I get:
Exception in thread “main” org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: cannot connect to chrome at 127.0.0.1:9111
from chrome not reachable
Host info: host: ‘DESKTOP-KJRP5I8’, ip: ‘192.168.56.1’
Build info: version: ‘4.23.0’, revision: ‘4df0a231af’
System info: os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘22.0.1’
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [], debuggerAddress: 127.0.0.1:9111, extensions: []}}]}]
package org.example;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public static void main(String[] args) {
String excelFilePath = "C://Users//User//Downloads//FY24-H1B-Information-IT-Companies.xlsx";
int startRow = 5;
int endRow = startRow + 10;
int columnNumber = 2; //company name is in the third column
List companyNames = readExcelCells(excelFilePath, 0, startRow, endRow, columnNumber);
if (!companyNames.isEmpty()) {
WebDriverManager.chromedriver().clearDriverCache().setup();
System.setProperty("webdriver.chrome.driver", "C://Users//User//Downloads//chromedriver-win64//chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("debuggerAddress", "127.0.0.1:9111");
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.google.com");
for (String companyName : companyNames) {
searchInNewTab(driver, companyName);
}
} else {
System.out.println("Failed to read the cell contents.");
}
}
private static List readExcelCells(String filePath, int sheetNumber, int startRow, int endRow, int columnNumber) {
List cellContents = new ArrayList<>();
try (FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(sheetNumber);
for (int rowNumber = startRow; rowNumber <= endRow; rowNumber++) {
Row row = sheet.getRow(rowNumber);
if (row != null) {
Cell cell = row.getCell(columnNumber);
if (cell != null) {
cellContents.add(cell.toString());
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return cellContents;
}
private static void searchInNewTab(WebDriver driver, String companyName) {
// Open a new tab
((JavascriptExecutor) driver).executeScript("window.open('about:blank','_blank');");
// Switch to the new tab
ArrayList tabs = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(tabs.size() - 1));
// Perform the search
driver.get("https://www.google.com");
driver.findElement(By.name("q")).sendKeys(companyName);
driver.findElement(By.name("q")).submit();
}
}
I should open google search with company name opened tab, but I get same issue even with microsoft edge