小编Bor*_*cev的帖子

Puppeteer 从 page.$$ 选择器遍历 elementHandles

我正在构建一个刮板,但是我一直坚持遍历 elementHandles。

我需要获取我成功执行的行元素列表。之后,对于每一行,我需要捕获 tds text/innerHTML(不确定哪个是哪个)。现在,将它们打印在标准输出中会很棒。

我得到的错误是UnhandledPromiseRejectionWarning: TypeError: tds.forEach is not a function,通过我的谷歌搜索告诉我 tds 不是数组。

我能够在 python 和 selenium 中实现这一点,但由于我是 javascript 新手,我预计我做错了什么。

根据我的理解,element.$$('td')返回一个 Promise,但如果我放置 await,我会得到SyntaxError: await is only valid in async function

  const selectors = await page.$$('#transactionItems > tbody > tr');
  console.log(selectors.length); // outputs 31 which is the right number
  selectors.forEach( (element) => {
    let tds = element.$$('td');
    console.log(tds);
    tds.forEach( (element) => { 
      console.log(element.innerText)
    });
  });
Run Code Online (Sandbox Code Playgroud)

编辑:

我已经尝试了以下代码,它成功地打印了它,但这仍然不是我想要的。

const selectors = await page.$$('#transactionItems > tbody > …
Run Code Online (Sandbox Code Playgroud)

javascript puppeteer

8
推荐指数
1
解决办法
1万
查看次数

元组列表列表,按第一个元素分组并添加第二个元素

假设我有以下元组列表列表:

tuples = [
             [ 
                 ('2017-04-11', '2000000.00'), 
                 ('2017-04-12', '1000000.00'), 
                 ('2017-04-13', '3000000.00')
             ],
             [
                 ('2017-04-12', '472943.00'), 
                 ('2017-04-13', '1000000.00')
             ]
             # ...
         ]
Run Code Online (Sandbox Code Playgroud)

我将如何根据第一个元素(日期)对它们进行分组并添加另一个元素。

例如,我想要这样的东西:

tuples = [('2017-04-11', '2000000.00'), ('2017-04-12', '1472943.00'), ('2017-04-13', '4000000.00')],
Run Code Online (Sandbox Code Playgroud)

python tuples list

4
推荐指数
1
解决办法
3440
查看次数

GAE错误的URI路由

这是我的main.py,我想在等号后提取所有内容.

示例网址将是 /loggedin?frob=72157645687641769-37c9ec9b8fb35d48-125787757 ,我想提取72157645687641769-37c9ec9b8fb35d48-125787757

import webapp2
from flickr.views import Flickr, FlickrAuthorized


class MainHandler(webapp2.RequestHandler):
    def get(self):
    self.response.write('Hello world!')

app = webapp2.WSGIApplication([
    ('/', MainHandler),
    ('/index', Flickr),
    (r'/loggedin?frob=<:((?:[a-z][a-z]*[0-9]+[a-z0-9]*))>', FlickrAuthorized)
], debug=True)
Run Code Online (Sandbox Code Playgroud)

我的处理程序有以下类:

class FlickrAuthorized(webapp2.RequestHandler):
     def get(self, frob):
     print frob    
     //code
Run Code Online (Sandbox Code Playgroud)

python regex google-app-engine routing

0
推荐指数
1
解决办法
134
查看次数