首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >木偶操纵者测试路径与page.evaluate -ID

木偶操纵者测试路径与page.evaluate -ID
EN

Stack Overflow用户
提问于 2018-02-13 15:49:31
回答 1查看 1.6K关注 0票数 2

我正在尝试从木偶操纵者e2e测试中的div中获取值。html和js的pice看起来有点像这样。问题在于结果。当我使用id运行这段代码时,它的结果实际上是控制台中的一个空行。

但是,如果我将},'[data-testid="TestID10"]')替换为注释代码行,我会在控制台中得到正确的响应'Hello World‘。(注意:在使用puppeteer时,使用完整的html选择器路径不是一个好的做法)

有没有人能告诉我为什么这个不能和身份证一起工作?既然使用HTML选择器真的是一种糟糕的做法,那么我该如何解决这个问题呢?

致以亲切的问候!

代码语言:javascript
运行
复制
const value1 = await page
        .waitForSelector('[data-testid="TestID10"]')
        .then(() => {
            return Promise.resolve(
                page.evaluate((path) => {
                    return window.document
                        .querySelector(path)
                        .value;
                },'[data-testid="TestID10"]')
            )
        });
    console.log(value1);
    
    //  },'#0-row-0 > div > div.TableCell.row-0.col-0.TextInputCell > div')
代码语言:javascript
运行
复制
<div class="TextInputCell" data-testid="TestID10">
  <span class="value">Hello Word</span>
</div

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 19:13:44

下面的操作对我来说很好。请注意,我将selector放入variable,而不是使用字符串。另外,我返回的是innerText,而不是您示例中的value。HTH

代码语言:javascript
运行
复制
const puppeteer = require('puppeteer'); 

async function run() { 

const htmlStr = '<!doctype html><html><head></head>' +
  '<body><div class="TextInputCell" data-testid="TestID10">' +
  '<span class="value">Hello Word</span></div></body></html>';

  const browser = await puppeteer.launch({
      headless: false
  });
  const page = await browser.newPage();
  await page.setContent(htmlStr);    

  const selector = '[data-testid="TestID10"]';
  await page.waitForSelector(selector);

  var innerText = await page.evaluate((sel) => {
        return document.querySelector(sel).innerText;
  }, selector);

  console.log(innerText);

  browser.close();

};

run();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48761859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档