【问题标题】:Laravel Dusk: How to get HTML from element?Laravel Dusk:如何从元素中获取 HTML?
【发布时间】:2019-09-24 23:10:02
【问题描述】:

我知道您可以从元素中获取文本,如下所示:

$text = $browser->text('.selector');

我的问题是:如何获取原始 HTML 内容?例如。以下不起作用

$text = $browser->html('.selector');

例如如果元素是:

<div class='selector'><p>Hello</p></div>

我想得到以下输出(带有

标签):

<p>Hello</p>

谢谢

【问题讨论】:

    标签: laravel laravel-5 laravel-dusk


    【解决方案1】:

    我找不到获取内部 HTML 的方法,但您可以使用 getText() 提取内部文本。

    <div class='selector'><p>Hello</p></div>
    
    <?php 
      $innerText = $browser->element('.selector p')->getText();
      // $innerText = 'Hello'
    ?>
    

    在 laravel/framework 9.0.2 上试过; laravel/黄昏 6.22.0; php-webdriver/webdriver 1.9.0;

    【讨论】:

      【解决方案2】:

      更新 laravel 8.75.0 和 laravel 黄昏 6.19

      $browser->element('yourElement')->getDomProperty('innerHTML');
      

      【讨论】:

        【解决方案3】:

        要获取元素的源代码,您应该使用element() 方法和getAttribute(),如下所示:

        $html = $browser->element('.selector')->getAttribute('innerHTML');
        // now in $html you have HTML inside .selector element
        

        【讨论】:

        • 完美运行。谢谢!
        • 也试试这两个对我非常有用的链接githubforum
        猜你喜欢
        • 2019-08-04
        • 1970-01-01
        • 1970-01-01
        • 2018-07-12
        • 1970-01-01
        • 1970-01-01
        • 2019-10-18
        • 2020-06-09
        • 2018-09-18
        相关资源
        最近更新 更多