js點擊事件改變css樣式,js模擬滑鼠點擊事件

方法一: 利用父控制項

1. 尋找父控制項,判斷父控制項能否點擊

以某多多的簽到控制項為例,如圖

autojs之clickable為false的控制項模擬點擊

2. clickable屬性為false

autojs之clickable為false的控制項模擬點擊

3. 這時我們尋找它的父控制項,如圖

autojs之clickable為false的控制項模擬點擊

4. 發現clickable屬性為true,是可點擊的,可以通過點擊父控制項模擬簽到

autojs之clickable為false的控制項模擬點擊

方法二: 利用坐標實現模擬點擊

1. 還是以某多多的簽到控制項為例,如圖

autojs之clickable為false的控制項模擬點擊

2. clickable屬性為false,可以看到bounds的值

autojs之clickable為false的控制項模擬點擊

3. bounds的值為(501,721,579,772),這是簽到控制項所在的坐標,點擊此處的坐標 (click(x,y)),也可以模擬點擊

提示

可以綜合1,2種方法進行點擊,

當直接點擊父控制項,並不能到目標位置點擊,

當子控制項位於父控制項中間時,可以取得父控制項bounds值坐標的一半,也就是子控制項所在的坐標進行點擊

方法三: 找圖找色

這種方法比較適合控制項都找不到的情況

遊戲腳本經常使用找圖找色,如圖

autojs之clickable為false的控制項模擬點擊

可以看到這整個頁面只有一個控制項,那如何進行模擬點擊領取按鈕呢?

我們可以通過截取領取按鈕圖片,用autojs的找圖找色,

判斷我們截取的領取的這張圖片,在整個圖片中的位置進行點擊,如圖

autojs之clickable為false的控制項模擬點擊

可通過以下代碼點擊圖片

/**
 * @function clickImg
 * @description 查找並點擊圖片
 * @param smallImgPath {string} 提前截取的小圖路徑
 * @param threshold {number} 圖片相似度。取值範圍為0~1的浮點數。默認值為0.9
 * @return {Boolean} 是否找到並點擊了圖片
 */
function clickImg(smallImgPath, threshold) {
  var smallImg = images.read(smallImgPath); //讀取本地的領取圖片
  var img = captureScreen();
  var result = findImage(img, smallImg, {
    threshold: threshold,
  }); //找到圖會返回坐標 找不到返回null
  if (!result) {
    log("沒找到");
    return false;
  } else {
    click(result.x, result.y);
    log("找到了");
    return true;
  }
}
clickImg("1.jpg", 0.9);

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230895.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-10 18:44
下一篇 2024-12-10 18:44

相關推薦

發表回復

登錄後才能評論