اجرا کردن
تزریق تکهای از جاوااسکریپت به صفحه برای اجرا در محتوای فریم فعلی انتخاب شده با استفاده از عنصر داده شده به عنوان دامنه، زیرا در دامنه عنصر قرار دارد به این معنی است که WebdriverIO به طور خودکار منتظر وجود عنصر میماند قبل از اجرای اسکریپت. اسکریپت اجرا شده، همگام در نظر گرفته میشود و نتیجه ارزیابی اسکریپت به کلاینت برگردانده میشود.
آرگومان اسکریپت، اسکریپتی را برای اجرا در قالب بدنه تابع تعریف میکند. مقداری که توسط آن تابع برگردانده میشود به کلاینت برگردانده خواهد شد. تابع با آرایه args ارائه شده فراخوانی میشود و مقادیر میتوانند از طریق شیء arguments به ترتیب مشخص شده دسترسی داشته باشند.
آرگومانها میتوانند هر نوع JSON-primitive، آرایه یا شیء JSON باشند. اشیاء JSON که یک مرجع WebElement را تعریف میکنند به عنصر DOM مربوطه تبدیل میشوند. به همین ترتیب، هر WebElement در نتیجه اسکریپت به عنوان اشیاء JSON WebElement به کلاینت برگردانده خواهند شد.
استفاده
$(selector).execute(script, arguments)
پارامترها
نام | نوع | جزئیات |
---|---|---|
script | String, Function | اسکریپتی که باید اجرا شود. |
arguments اختیاری | * | آرگومانهای اسکریپت |
مثال
it('should wait for the element to exist, then executes javascript on the page with the element as first argument', async () => {
const text = await $('div').execute((elem, a, b, c, d) => {
return elem.textContent + a + b + c + d
}, 1, 2, 3, 4);
// node.js context - client and console are available
console.log(text); // outputs "Hello World1234"
});
مقادیر بازگشتی
- <*>
return
: نتیجه اسکریپت.