При попытке щелкнуть элемент с помощью $ x возникает ошибка. Пробовал разные способы, но не повезло, может ли кто-нибудь сообщить мне, в чем ошибка с приведенным ниже кодом или любым другим способом щелкнуть с помощью xpath.
Error: Protocol error (Runtime.callFunctionOn): Target closed.
ниже код
//commonfunction.ts
module.exports = {};
module.exports.ToggleButton = async function ToggleButton(Question, QuestionLabelXpath) {
await page.waitForXPath(QuestionLabelXpath + "/descendant::label[text()='" + Question + "']/parent::div/descendant::button[@title='Edit']");
const editIcon = await page.$x(QuestionLabelXpath + "/descendant::label[text()='" + Question + "']/parent::div/descendant::button[@title='Edit']");
await editIcon[0].click();};
//questions.ts
const CommFun = require('./commonfunction');
test('Verify "question"',async() => {
CommFun.ToggleButton("question","//div[@role=\'tabpanel\']/div/div/div/div/div")
},30000);
Пробовал $$ eval в тесте, щелчок работает, но когда я помещаю его в функцию, он не работает, должен ли он что-то делать с вызовом функции?
const CommFun = require('./commonfunction');
test('Verify "question"',async() => {
await page.$$eval('button[title=\'Edit\']', elements => elements[1].click());
},30000);
await browser.close()
илиawait page.close()
в конце кода? - person Edi Imanto   schedule 16.12.2019await elementHandle.evaluate( node => node.click() )
- person Edi Imanto   schedule 17.12.2019