首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我正在试着登录迪斯尼商店。我尝试了许多不同的选择器,但似乎都不起作用。有什么帮助或建议吗?

我正在试着登录迪斯尼商店。我尝试了许多不同的选择器,但似乎都不起作用。有什么帮助或建议吗?
EN

Stack Overflow用户
提问于 2021-02-12 12:18:06
回答 1查看 20关注 0票数 0

这是我的代码;它主要转到页面,单击侧面导航栏,单击sign in,然后等待email和password元素。

问题是它们不起作用。

等待page.goto('https://www.shopdisney.com/');

代码语言:javascript
代码运行次数:0
运行
复制
await page.waitForSelector('body > div.page > header > nav > div > div.layout--maxWidth > div > div > div:nth-child(2) > div.float-left > button')
await page.click('body > div.page > header > nav > div > div.layout--maxWidth > div > div > div:nth-child(2) > div.float-left > button')

await page.waitForSelector('#sg-navbar-collapse > div > div > nav > div.close-menu.clearfix.d-inline-block.d-lg-none > div.user.usercontainer > div > button.signin-or-signupbutton')
await page.click('#sg-navbar-collapse > div > div > nav > div.close-menu.clearfix.d-inline-block.d-lg-none > div.user.usercontainer > div > button.signin-or-signupbutton')

await page.waitFor(5000)

let selector = '#did-ui-view > div > section > section > form > section > div:nth-child(1)'
await page.$eval(selector, elem => elem.click());

await page.waitForSelector('input[type="email"]')
await page.focus('input[type="email"]')
await page.keyboard.type('supreme@gmail.com', {delay: 100})

await page.waitForSelector('#did-ui-view > div > section > section > form > section > div:nth-child(2) > div > label > span.input-wrapper > input')
await page.focus('#did-ui-view > div > section > section > form > section > div:nth-child(2) > div > label > span.input-wrapper > input')
await page.keyboard.type('supreme123', {delay: 100})

await page.waitForSelector('#did-ui-view > div > section > section > form > section > div.btn-group.touch-print-btn-group-wrapper > button')
await page.click('#did-ui-view > div > section > section > form > section > div.btn-group.touch-print-btn-group-wrapper > button')
EN

回答 1

Stack Overflow用户

发布于 2021-02-12 13:59:27

在我的站点版本中,此选择器:

代码语言:javascript
代码运行次数:0
运行
复制
await page.waitForSelector('body > div.page > header > nav > div > div.layout--maxWidth > div > div > div:nth-child(2) > div.float-left > button')

指向一个元素只在移动版本中启用,更准确地说,是汉堡包菜单。也许你需要指向user.user__container选择器。

puppeteer.browser中使用的屏幕尺寸是多少?您可以发送浏览器配置吗?这是因为木偶人使用的屏幕尺寸改变了可用的选择器,根据网站的媒体查询。

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

https://stackoverflow.com/questions/66166297

复制
相关文章

相似问题

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