在导航中选择 Div
Selecting a Div inside a Nav
我正在尝试使用 Puppeteer 和 Chromium 自动执行 Chrome 中的某些功能。我可以登录,select 主导航元素和子导航菜单出现。我目前正在控制台中玩游戏以找到正确的 select 或传递给 Puppeteer,但是,我遇到了困难。
HTML 下面:
<div id="popupTaskMenu" class="launcher...">
<div -not important to task></div>
<nav class="task_launcher_item_heading">
<div task-item="0" class="task_launcher_item_click">Text</div>
<div task-item="1" class="task_launcher_item">Text</div>
</nav>
<div>
在 Chrome 控制台中,我可以通过使用 document.getElementsByClassName("task_launcher_item_heading")[0].childNodes[0].innerText
使 <nav>
项目变得可访问,这将 return 元素的 innerText,但是使用 .click()
方法返回未定义。
任何想法肯定会有所帮助。
看起来你只是想针对这个人并让他做某事。
<div task-item="0" class="task_launcher_item_click">Text</div>
如果是这种情况,您能否改用 const Nav = document.getElementById();
await Nav.click();
函数并为其提供自己的 ID,同时仍保留 task_launcher_item_click
class?
点击该特定元素后,您可以使用 promise 函数 https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#frameclickselector-options
const [response] = await Promise.all([
page.waitForNavigation(waitOptions),
frame.click(selector, clickOptions),
]);
或属性选择器 https://drafts.csswg.org/selectors-4/#attribute-selectors
const element = await page.$('[href="http://www.iana.org/domains/example"]');
await element.click();
} catch (err) {
console.error(err);
}
})();
好吧,总有一天我会成为一个聪明人...我的问题是我在应该 #popupTaskMenu > nav > div:nth-child(2)
的时候使用了 #popupTaskMenu > nav > div.nth-child(2)
我应该使用冒号而不是句点!!!!我生命中的 2 个小时!
我正在尝试使用 Puppeteer 和 Chromium 自动执行 Chrome 中的某些功能。我可以登录,select 主导航元素和子导航菜单出现。我目前正在控制台中玩游戏以找到正确的 select 或传递给 Puppeteer,但是,我遇到了困难。
HTML 下面:
<div id="popupTaskMenu" class="launcher...">
<div -not important to task></div>
<nav class="task_launcher_item_heading">
<div task-item="0" class="task_launcher_item_click">Text</div>
<div task-item="1" class="task_launcher_item">Text</div>
</nav>
<div>
在 Chrome 控制台中,我可以通过使用 document.getElementsByClassName("task_launcher_item_heading")[0].childNodes[0].innerText
使 <nav>
项目变得可访问,这将 return 元素的 innerText,但是使用 .click()
方法返回未定义。
任何想法肯定会有所帮助。
看起来你只是想针对这个人并让他做某事。
<div task-item="0" class="task_launcher_item_click">Text</div>
如果是这种情况,您能否改用 const Nav = document.getElementById();
await Nav.click();
函数并为其提供自己的 ID,同时仍保留 task_launcher_item_click
class?
点击该特定元素后,您可以使用 promise 函数 https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#frameclickselector-options
const [response] = await Promise.all([
page.waitForNavigation(waitOptions),
frame.click(selector, clickOptions),
]);
或属性选择器 https://drafts.csswg.org/selectors-4/#attribute-selectors
const element = await page.$('[href="http://www.iana.org/domains/example"]');
await element.click();
} catch (err) {
console.error(err);
}
})();
好吧,总有一天我会成为一个聪明人...我的问题是我在应该 #popupTaskMenu > nav > div:nth-child(2)
#popupTaskMenu > nav > div.nth-child(2)
我应该使用冒号而不是句点!!!!我生命中的 2 个小时!