Puppeteer js запрос и щелкните ссылку внутри тд, где содержится тд id - PullRequest
0 голосов
/ 03 марта 2020

Я должен получить следующий селектор. Их несколько:

<td id="content_gvNewLeads_tccell0_5" class="dxgv dx-ellipsis" align="left" style="border-bottom-width:0px;">
                                    <a onclick="return ShowCallDialog(494038, 7);">2 Cloister Court </a>
                                </td>

Я использую puppeteer-select, который позволяет мне использовать sizzle

  await select(page).assertElementPresent('td.Id:contains(content_gvNewLeads_tccel) > a');
  const element = await select(page).getElement('td.Id:contains(content_gvNewLeads_tccel) > a');
  await element.click()

Я получаю ошибку:

Error: an element with selector: "td.Id:contains(content_gvNewLeads_tccel) > a" not found

Любая идея, как сделать sh это?

1 Ответ

0 голосов
/ 03 марта 2020

Есть несколько способов сделать это ..
1. Используя простую концепцию javascript

 let clickButton = await page.evaluate(()=>{
      let node = document.querySelectorAll('#content_gvNewLeads_tccell0_5 a');
      if(node &&  node.length){ // condition is not much required but still checked
           node[0].click();
           return true;
      }else{
        return false;
      }  
 });
Использование концепции селектора
       await page.waitForSelector('#content_gvNewLeads_tccell0_5 a');
       await page.click('#content_gvNewLeads_tccell0_5 a');
...