diff --git a/core/tests/Drupal/Tests/BrowserTestBase.php b/core/tests/Drupal/Tests/BrowserTestBase.php index 457e22286f45a1adcfdd6d3ac62b6fc840c569db..12228dbea721fe06b091463204a49d14d65c12a1 100644 --- a/core/tests/Drupal/Tests/BrowserTestBase.php +++ b/core/tests/Drupal/Tests/BrowserTestBase.php @@ -609,9 +609,8 @@ protected function config($name) { * The JSON decoded drupalSettings value from the current page. */ protected function getDrupalSettings() { - $html = $this->getSession()->getPage()->getContent(); - if (preg_match('@<script type="application/json" data-drupal-selector="drupal-settings-json">([^<]*)</script>@', $html, $matches)) { - $settings = Json::decode($matches[1]); + if ($elements = $this->xpath('//script[@type="application/json" and @data-drupal-selector="drupal-settings-json"]')) { + $settings = Json::decode($elements[0]->getText()); if (isset($settings['ajaxPageState']['libraries'])) { $settings['ajaxPageState']['libraries'] = UrlHelper::uncompressQueryParameter($settings['ajaxPageState']['libraries']); }