我需要使用ajax
: $.ajax({
... # your occulted script
success: function(data){
$("#deactivate_reason_textarea").val("");
$("#dialogoverlay").fadeOut("Slow");
$("#sending_box").fadeOut("Slow");
$("body").css("overflow", "auto");
window.location = "another/script.php";
// or you can put it in a timeout to show a message for the user or other thing
// setTimeout(function() {
// window.location = "another/script.php";
// }, 10000);
}
});
单击某个Web按钮。
我正在与Puppeteer合作,所以通常我会这样做:
id
棘手的是,数字#product-6852370-Size
是动态的,每次刷新页面时都会更改。
所以我需要的是一段代码:
搜索包含page.click('#product-6852370-Size');
和6852370
的{{1}}。有可能发生这种情况吗?
答案 0 :(得分:8)
您可以使用以下方式匹配id
属性的开头和结尾:
await page.click('[id^="product-"][id$="-Size"]');
或者,更准确地说,您可以使用正则表达式确保id
中间出现数字:
await page.evaluate(() => {
[...document.querySelectorAll('[id^="product-"][id$="-Size"]')].filter(e => e.id.match(/^product-\d+-Size$/g))[0].click();
});
答案 1 :(得分:4)
您可以使用以选择器开头的属性来做到这一点:
page.click('button[id^="product-"]')