を、私は動作しますが、それはセレンの公式WebDriverJSに基づいていますが、SauceLabs's WebDriver
に基づいていない、次のコードを書きました。
私はただ要素のスクリーンショットを撮ることはできませんが、最初にページ全体のスクリーンショットを撮ってから、好きな部分を選択してその特定の部分を切り抜くことを強調したいと思います。
browser.get(URL_TO_VISIT)
.waitForElementById(dependentElementId, webdriver.asserters.isDisplayed, 3000)
.elementById(elementID)
.getSize().then(function(size) {
browser.elementById(elementID)
.getLocation().then(function(location) {
browser.takeScreenshot().then(function(data) {
var base64Data = data.replace(/^data:image\/png;base64,/, "");
fs.writeFile(filePath, base64Data, 'base64', function(err) {
if (err) {
console.log(err);
}
else {
cropInFile(size, location, filePath);
}
doneCallback();
});
});
});
});
そしてcropInFileFunctionは、このように書きます:あなたは、ディスクIOを伴う気にしない場合
var cropInFile = function(size, location, srcFile) {
easyimg.crop({
src: srcFile,
dst: srcFile,
cropwidth: size.width,
cropheight: size.height,
x: location.x,
y: location.y,
gravity: 'North-West'
},
function(err, stdout, stderr) {
if (err) throw err;
});
};
私の知る限り、施設は全体をキャプチャすることですページ。要素IDまたは名前を入力として受け取るスクリーンショット関数はありません。 – Hemanth
誰かが、C#でBUFFeredImageのメソッド呼び出しを教えてくれますか?私はこれに関連する類似の方法を見つけることができませんでした。 – fj123