【问题标题】:How to get value from script's outer html如何从脚本的外部 html 中获取价值
【发布时间】:2023-03-23 10:45:01
【问题描述】:

我有一个来自脚本的外部 HTML,我需要从其中获取城市列表。

我一直在尝试通过将脚本恢复为 HTML 来获取它:

Document citiesHTML = Jsoup.parse(driver.findElement(By.xpath("/html/body/section/script")).getAttribute("outerHTML"));

该行的返回是:

<html>
 <head>
  <script>
      NCM.Registry.add('PreHomeStatic', 'PreHome_1485892226002', {
        backgroundColor: '#f1f1f1',
        backgroundImage: '',
        subscriberUrl: '/cliente',
        notSubscriberUrl: '/home', 
        defaultCityName: "sao_paulo",
        defaultCityId: '1366122212339',
        cityNotFoundMessage: 'Os serviços NET não estão disponíveis para sua cidade TEST',
        cityPlaceholder: 'Digite Sua Cidade',
        subscriberLabel: 'Já é <b>cliente NET?</b>',
        footerNote: 'Rodap&eacute;',
        cities: [{"id_wcs":"1374010568098","id":"almirante_tamandare","value":"Almirante Tamandaré","tokens":["almirante","tamandare","Almirante","Tamandaré"]},{"id_wcs":"1374019924528","id":"alvorada","value":"Alvorada"...

我需要得到那个“cities”数组。

【问题讨论】:

    标签: jsoup document outerhtml


    【解决方案1】:

    你尝试过类似的方法吗?

        Document doc = // JSoup document
    
        String html = doc.select("script").html();
    
        String[] lines = html.split("\n");
    
        for (String line : lines) {
            if (line.trim().startsWith("cities:")){
                System.out.println(line.replaceFirst("cities:", ""));
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      相关资源
      最近更新 更多