«Ссылка» Java-реализация Шона Лири здесь на github . Убедитесь, что у вас установлена последняя версия - разные библиотеки загружают версии с ошибками старых версий с 2009 года.
Java EE 7 имеет JSON API в javax.json
, см. Javadoc . Из того, что я могу сказать, у него нет простого метода для сортировки любого объекта в JSON, вам нужно построить JsonObject
или JsonArray
.
import javax.json.*;
JsonObject value = Json.createObjectBuilder()
.add("firstName", "John")
.add("lastName", "Smith")
.add("age", 25)
.add("address", Json.createObjectBuilder()
.add("streetAddress", "21 2nd Street")
.add("city", "New York")
.add("state", "NY")
.add("postalCode", "10021"))
.add("phoneNumber", Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("type", "home")
.add("number", "212 555-1234"))
.add(Json.createObjectBuilder()
.add("type", "fax")
.add("number", "646 555-4567")))
.build();
JsonWriter jsonWriter = Json.createWriter(...);
jsonWriter.writeObject(value);
jsonWriter.close();
Но я предполагаю, что другой библиотеки, такие как GSON, будут иметь адаптеры для создания объектов, реализующих эти интерфейсы.
Как я понял, всплывающее окно - это новое окно, и вы должны переключиться на него:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#...
other_url = 'http://somewebsite.com/something/exportToExcelChoice.asp?qt=1&qa=0&ben=1&tpt=0&gl=1&cl=CAESFFHIILNI'
wait = WebDriverWait(browser, 10)
#handles = driver.window_handles
browser.get(other_url)
#wait.until(EC.new_window_is_opened(handles))
#driver.switch_to.window(driver.window_handles[-1])
links = wait.until(EC.visibility_of_all_elements_located((By.TAG_NAME,"a")))
for link in links:
link.click()