23 Commits

Author SHA1 Message Date
Dmitry Gozman
48be99a56e feat(selectors): add id selectors (#270) 2019-12-16 20:49:18 -08:00
Pavel Feldman
df95b9ddb4 feat(waitFor): allow actions to wait for selector; make visible requirement default (#254) 2019-12-14 20:13:22 -07:00
Dmitry Gozman
97c50c22ab chore: inherit FrameExecutionContext from ExecutionContext (#234) 2019-12-12 21:11:52 -08:00
Dmitry Gozman
39fa313535 chore: merge DOMWorldDelegate and PageDelegate (#228) 2019-12-12 17:51:05 -08:00
Dmitry Gozman
59b0900321
feat(selectors): introduce zs selector engine (#214) 2019-12-12 09:02:37 -08:00
Joel Einbinder
e3f34bd69a
fix(fill): throw when the element isn't fillable (#160)
An element is fillable if its:
- In dom
- Not display:none or visibility:hidden
- textarea or input or contenteditable

if textarea or input it must also be
- not readOnly
- not disabled

#133
2019-12-09 14:51:19 -08:00
Pavel Feldman
f5cd742b79
test: rebaseline some click tests (#179) 2019-12-08 17:17:49 -08:00
Pavel
b45ea22660 test: fix element.handle nested frames 2019-12-06 15:11:14 -08:00
Pavel
bcb62de4b2 fix(test): make click tests pass everywhere 2019-12-06 14:48:41 -08:00
Pavel
349ce22565 lint: follow up with lints 2019-12-06 12:04:11 -08:00
Pavel Feldman
bb1888c86e feat(screenshots): make them work everywhere (#164) 2019-12-06 11:33:24 -08:00
Joel Einbinder
39b22b41c5
feat: make JSHandle generic (#140)
This makes it so that JSHandles and ElementHandles are aware of what types they point to. As a fun bonus, `$eval('input')` knows its going to get an HTMLInputElement.

Most of this patch is casting things where previously we just assumed ElementHandles held the right kind of node. This gets us closer to being able to turn on `noImplicityAny` as well.

#6
2019-12-05 16:26:09 -08:00
Dmitry Gozman
e992c7fa7d chore: unify screenshot handling between browsers, introduce Screenshotter everywhere (#156) 2019-12-05 14:48:39 -08:00
Dmitry Gozman
d4f0084f67
chore: move element coordinates handling to common (#139)
Browser now implement boundingBox(), contentQuads() and layoutViewport().
2019-12-05 09:54:50 -08:00
Dmitry Gozman
3f554b3273 fix: handle failures of adoptElementHandle (#134)
There is no way to trigger this issue through the api just yet, but there will be
once we support handles as selectors.
2019-12-05 09:45:36 -07:00
Dmitry Gozman
fc5898892b
feat(selectors): support optional "visible" property in all selectors (#129) 2019-12-04 13:11:10 -08:00
Dmitry Gozman
e124d44a55 chore: rework wait task to accept arbitrary task on dom world (#126) 2019-12-03 11:51:41 -07:00
Dmitry Gozman
6b3c2632e7
feat(selectors): support various selectors in waitFor methods (#122) 2019-12-03 10:43:13 -08:00
Dmitry Gozman
bb1433a143
feat(selectors): support various kinds of selectors (#118)
This adds support for generic "engine=body [>> engine=body]*" selector syntax
and auto-detects simple css or xpath.
2019-12-02 17:33:44 -08:00
Dmitry Gozman
ffaf7326ab
chore: put remoteObject directly on JSHandle (#113) 2019-12-02 13:12:28 -08:00
Dmitry Gozman
8efd258e40
chore: encapsulate dom-related logic to DOMWorld, part 1 (#112) 2019-11-28 12:50:52 -08:00
Dmitry Gozman
961556a596
chore: cleanup multiple definitions and types (#109) 2019-11-27 16:03:51 -08:00
Dmitry Gozman
c3393039b0
chore: reuse ElementHandle between browsers (#108) 2019-11-27 16:02:31 -08:00