Проблема
Проблема заключается в следующем фрагменте кода:
WebDriver driver = new FirefoxDriver();
Откроется новый браузер Firefox.Вот почему вы увидели открытое «пустое окно».
TransactionID = driver.findElement(By.xpath("//table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[1]/td/table/tbody/tr[1]/td")).getText();
Сразу после этого вы пытаетесь найти элемент на веб-сайте.Как вы можете себе представить, попытка найти элемент на пустой странице, очевидно, приведет к ошибке.
Сначала вам нужно перейти на сайт:
driver.get(your_url_here);
Sidenotes
Ваш xpath не идеален, так как он слишком жестко закодирован - если на сайте создается новый элемент, ваш xpath, вероятно, сломается.Вместо этого следует использовать более динамичный подход, который использует свойства DOM элемента, такие как id
:
//table[@id='xxx']//td
Документация: https://www.w3schools.com/xml/xml_xpath.asp
Кроме того, имя вашей переменной TransactionID
должнобыть в нижнем колпачке, то есть transactionID
.