ฉันจะจัดการช่วงของวัตถุอินพุตใน nightwatch ได้อย่างไร

NW noobie ที่นี่ ฉันจะเพิ่ม/ลดค่าขององค์ประกอบช่วงผ่าน Nighwatch ได้อย่างไร

ฉันลอง sendKeys แล้วก็ไม่มีประโยชน์

ขอบคุณล่วงหน้า.


person Sua Morales    schedule 08.09.2015    source แหล่งที่มา


คำตอบ (2)


วิธีที่ใช้ได้ผลสำหรับฉันคือการรันจาวาสคริปต์ในเบราว์เซอร์เพื่อเปลี่ยนค่าของ input=range จากนั้นทริกเกอร์เหตุการณ์การเปลี่ยนแปลง

   .execute(function(data) {
        try {
            // statements

            p = document.querySelector("input[type='range']");
            p.value = 41;
            event = document.createEvent("HTMLEvents");
            event.initEvent("change", true, true);
            p.dispatchEvent(event);
        } catch(e) {
            // statements
            console.log(e);
        }


        return true;
    }, [], function(result) {

    });
person deividsito    schedule 05.07.2016
comment
สิ่งนี้ไม่ได้ผลสำหรับฉันอย่างเต็มที่ มีการเลื่อนแถบเลื่อนแต่ไม่ได้ทำให้เกิดเหตุการณ์การเปลี่ยนแปลง เบราว์เซอร์นั้นมีความเฉพาะเจาะจงหรือไม่? - person climboid; 14.03.2017
comment
ใช่ มันเป็นเบราว์เซอร์เฉพาะที่นี่ คุณมีคำแนะนำที่สมบูรณ์เกี่ยวกับทริกเกอร์เหตุการณ์สำหรับเบราว์เซอร์ทั้งหมดในคำถาม stackoverflow.com/questions/2490825/ - person deividsito; 16.03.2017

ฉันจัดการเพื่อให้มันทำงานได้โดยการทริกเกอร์เหตุการณ์ลากในช่วงประเภทอินพุต

person climboid    schedule 25.03.2017
comment
ฉันรู้ว่าสิ่งนี้ได้รับคำตอบเมื่อ 4 ปีที่แล้ว แต่ฉันกำลังลองสิ่งที่คล้ายกัน ... โดยใช้ try/catch ในฟังก์ชัน .execute ... แต่ดูเหมือนว่า try/catch จะไม่ทำงาน โดยเฉพาะเมื่อมีข้อผิดพลาด ระบบจะไม่บันทึกลงในคอนโซล ชี้แจง - ข้อผิดพลาดถูกบันทึกไว้ แต่ไปที่คอนโซลเว็บแทนที่จะไปที่คอนโซลใน IDE ของฉัน (VSCode) - person John Kretschmann; 24.03.2021