splash:mouse_click 无法打开弹出窗口 window

splash:mouse_click couldn't open pop up window

我正在尝试从 townwork(一个日本工作信息网站)抓取兼职工作信息。 要获取地址,我想打开一个弹出窗口 window。然后我开始使用Splash。 虽然我可以使用 splash:mouse_click 打开其他 link 和弹出窗口,但我无法打开所需的弹出窗口 window。

任何答案将不胜感激。

我想点击的link

想要的结果。

目标页面URL https://townwork.net/detail/clc_2578209001/joid_Y00BKDF4/

代码

function main(splash, args)
  assert(splash:go(args.url))
  local map = splash:select('#jsi-inflow-target > div > dl:nth-child(3) > dd > p > span > a')

  local bounds = map:bounds()
  local x_dif = bounds.right - bounds.left
  
  assert(map:mouse_click({x=bounds.width/3, y=bounds.height/3}))
  splash:wait(1)
  return {
    html = splash:html(),
    png = splash:png(),
    bounds = bounds
    
  }
end

我认为这个弹出窗口打开的速度是一个原因。

为了地址,我找到了除了打开弹窗之外的另一种解决方案:从第一页获取经纬度。

def parse(self, response):
  dt_list = response.css('dt')
    for dt in dt_list:
      if dt.css('::text').get == "勤務地":
        a_tag = BeautifulSoup(dt.xpath('./following-sibling::dd').get()).find('a')
        if a_tag is None:
          continue
        item['lat'] = a_tag['data-lat']
        item['lon'] = a_tag['data-lon']