[HtmlUnit] [htmlunit:bugs] #1986 getPosX, getPosY, getBoundingClientRect return incorrect values
RBRi via HtmlUnit-develop <[email protected]> Wed, 24 Oct 2018 18:06:59 -0000
| Newsgroups | gmane.comp.java.htmlunit.devel |
|---|---|
| Message-ID | </p/htmlunit/bugs/1986/242f0cf9df04142033efa0ee28e797037516aba5.bugs@htmlunit.p.sourceforge.net> |
Sorry for not beeing esponsive at the moment. There is simply not enough time; all the work on HtmlUnit is done in my spare time and i have a real job and a real family too.
Even if layouting is not at the core of HtmlUnit we try to make it as accurate as possible. Will have a look at your test document later on today.
---
** [bugs:#1986] getPosX, getPosY, getBoundingClientRect return incorrect values**
**Status:** pending
**Group:** 2.32
**Created:** Thu Aug 23, 2018 08:39 AM UTC by Bogdan
**Last Updated:** Thu Oct 18, 2018 07:36 PM UTC
**Owner:** RBRi
Im running htmlunit 2.32, all dependecies are checked.
To reproduce I compare GoogleChrome console result with the HmlUnit:
load for test the HTML page at:
https://www.le.ac.uk/oerresources/bdra/html/page_09.htm
In Google Chrome Console run:
document.getElementById("toc").getBoundingClientRect()
result:
DOMRect {x: 1, y: 63.609375, width: 180, height: 458.609375, top: 63.609375, …}
bottom:522.21875
height:458.609375
left:1
right:181
top:63.609375
width:180
x:1
y:63.609375
In HtmlUnit:
webClient = new WebClient(BrowserVersion.CHROME));
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.setRefreshHandler(new RefreshHandler() {
public void handleRefresh(Page page, URL url, int seconds) throws IOException {
}
});
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setTimeout(timeout * 1000);
webClient.setJavaScriptTimeout(1000);
Page somepage = webClient.getPage(url);
then:
HtmlDivision div = (HtmlDivision) page.getElementById("toc");
ClientRect rect = ((HTMLElement) (div).getScriptableObject()).getBoundingClientRect();
rect values:
bottom: 90
left: 9195
right : 10451
top: 90
getPosX and GetPosY return:
x: 9195
y: 90
---
Sent from sourceforge.net because [email protected] is subscribed to https://sourceforge.net/p/htmlunit/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/htmlunit/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
_______________________________________________
HtmlUnit-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/htmlunit-develop