Как получить исходный код страницы в браузере, а не на странице просмотра, используя селен - PullRequest
0 голосов
/ 17 апреля 2020

Я знаю, что driver.getPageSource() возвращает вам веб-страницу как Html, но проблема, с которой я сталкиваюсь, заключается в том, что сайт, который я тестирую, помещает данные в квадратные скобки, например {{OriginDescription}}, возможно, используя некоторую инфраструктуру js для получения данные? В любом случае, я могу просмотреть данные, когда проверяю элемент в браузере, но при просмотре источника страницы в браузере также отображаются только скобки, а не данные. Итак, как мне получить веб-страницу такой, какая она есть, когда я просматриваю (проверяю) ее в браузере?

Ниже приведен веб-сайт, который я тестирую, чтобы быть точным:

driver.get("https://www.united.com/ual/en/US/flight-search/book-a-flight/results/rev?f=Miami,+FL,+US+(MIA+-+All+Airports)&t=IAH&d=2020-05-02&r=2020-05-16&sc=7,7&px=1&taxng=1&newHP=True&idx=1");
String pageSource = driver.getPageSource();

Я являюсь используя java и хромедрайвер.

1 Ответ

0 голосов
/ 18 апреля 2020

Попробуйте подождать, пока элемент загрузится первым, вы можете сделать это, используя:

driver.get("url");

WebDriverWait wait = new WebDriverWait(driver, TIME_IN_SECONDS);
wait.until(ExpectedConditions.elementToBeClickable(By.className("element-class-name")));

String page = driver.getPageSource();

Это подождет, пока страница завершит загрузку, и проверит, кликабелен ли элемент. Или вы можете подождать, пока элемент станет видимым:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("element-id")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...