Coder Social home page Coder Social logo

Ashot is not working at all! about ashot HOT 8 CLOSED

pazone avatar pazone commented on August 17, 2024
Ashot is not working at all!

from ashot.

Comments (8)

tlytvyn avatar tlytvyn commented on August 17, 2024

I am trying to execute this part of code:
public void searchGoogleEleks(String url, String searchFor){
webDriver.get("http://www.google.com");
webDriver.findElement(By.id("gbqfq")).sendKeys(searchFor + "\n");
BufferedImage image = new AShot()
.shootingStrategy(new ViewportPastingStrategy(0))
.takeScreenshot(webDriver).getImage();
}

from ashot.

pazone avatar pazone commented on August 17, 2024

ViewportPastingStrategy uses jQuery to get page metrics as most easy way. You can extend this strategy and change page metrics methods(getFullHeight, getFullWidth and getWindowHeight) and send pull request with new strategy.
For example, instead of $(document).height() you can use native js function:

Math.max(document.body.scrollHeight, 
document.body.offsetHeight, 
document.documentElement.clientHeight, 
document.documentElement.scrollHeight, 
document.documentElement.offsetHeight)

And use your new shooting strategy:

new AShot()
    .shootingStrategy(new YourNewShootingStrategy()).takeScreenshot()

from ashot.

pazone avatar pazone commented on August 17, 2024

As I see in your logs, you are using FirefoxDriver. In this case you don't need in ViewportPastingStrategy.
Just try this

new AShot()
    coordsProvider(new WebDriverCoordsProvider()).takeScreenshot(driver)

from ashot.

tlytvyn avatar tlytvyn commented on August 17, 2024

Screenshot imageScreen = new AShot()
.coordsProvider(new WebDriverCoordsProvider())
.imageCropper(new IndentCropper() // overwriting cropper
.addIndentFilter(new BlurFilter()))
.takeScreenshot(driver, element);

This is working for me.

from ashot.

MollyWing avatar MollyWing commented on August 17, 2024

I am testing some pages where jQuery is running in no conflict mode. coordsProvider is a good work-around for now, but this prevents our team from using a shared code-base. I think it would be nice to see if we can find a fix for this issue.

from ashot.

pazone avatar pazone commented on August 17, 2024

@MollyWing Do you mean that WebDriverCoordsProvider should be default?

from ashot.

MollyWing avatar MollyWing commented on August 17, 2024

@pazone I think we shouldn't assume jQuery is available

from ashot.

pazone avatar pazone commented on August 17, 2024

@MollyWing Good idea. Thanks.

from ashot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.