我正在使用 playwright.js 为https://target.com编写脚本,并且在您提交运输信息的页面上,如果您之前已经完成了结帐流程,它将提供使用保存地址的选项目标账户。
我想每次运行脚本时都输入新的运输信息,所以我必须让编剧点击删除,如果它存在于页面上,然后输入运输信息。
下面显示的函数可以单击删除,但随后超时if (await page.$$("text='Delete'") != [])
而不是执行else
该函数的一部分。
我如何重写此函数,以便它只检查元素(选择器:)是否text='Delete'
存在,如果存在则单击它,如果不存在则执行函数的填充部分?
async function deliveryAddress() {
if (await page.$$("text='Delete'") != []) {
await page.click("text='Delete'", {force:true})
await deliveryAddress()
} else {
await page.focus('input#full_name')
await page.type('input#full_name', fullName, {delay: delayms});
await page.focus('input#address_line1')
await page.type('input#address_line1', address, {delay: delayms});
await page.focus('input#zip_code')
await page.type('input#zip_code', zipCode, {delay: delayms});
await page.focus('input#mobile')
await page.type('input#mobile', phoneNumber, {delay: delayms});
await page.click("text='Save & continue'", {force:true})
}
}