https://qiita.com/rh_taro/items/32bb6851303cbc613124
上の記事に追加するような形で。
2018/08/14 更新
(編集リクエスト頂ければクレジットと共に掲載します)
キーボード操作
index.js
await page.focus("#id");
await page.keyboard.down('Shift');
await page.keyboard.press('KeyO');
await page.keyboard.press('KeyK');
await page.keyboard.up('Shift');
要素の座標を取得
index.js
page.offset = async (selector)=>{
let elem = await page.$(selector);
return await elem._clickablePoint()
};
//使用例
let offset = await page.offset("#ib");
await page.mouse.click(offset.x,offset.y);
フォームのクリア
index.js
page.clear = async (selector)=>{
let elem = await page.$(selector);
await elem.click();
await elem.focus();
await elem.click({clickCount: 3});
await elem.press('Backspace');
};
//使用例
await page.clear("#id");
ラジオボタン選択
クリックの後少し待たないとそのあとの処理がおかしくなる(原因不明)
index.js
page.radio = async (name, val) => {
this.page.click(name + '[value=\'' + val + '\']');
await this.page.waitFor(500);
};
//使用例
await page.radio("#id","1");