11using System ;
22using System . Collections . Generic ;
3- using System . Data ;
43using System . Linq ;
5- using System . Runtime . InteropServices ;
64using System . Text . RegularExpressions ;
75using System . Threading . Tasks ;
8- using System . Xml . Linq ;
96using PuppeteerSharp . Messaging ;
10- using PuppeteerSharp . PageAccessibility ;
117using static PuppeteerSharp . Messaging . AccessibilityGetFullAXTreeResponse ;
128
139namespace PuppeteerSharp
@@ -22,69 +18,69 @@ internal class AriaQueryHandlerFactory
2218
2319 internal static InternalQueryHandler Create ( )
2420 {
25- Func < IElementHandle , string , Task < object > > queryOneId = async ( IElementHandle element , string selector ) =>
21+ async Task < object > QueryOneId ( IElementHandle element , string selector )
2622 {
2723 var queryOptions = ParseAriaSelector ( selector ) ;
2824 var res = await QueryAXTreeAsync ( ( ( ElementHandle ) element ) . Client , element , queryOptions . Name , queryOptions . Role ) . ConfigureAwait ( false ) ;
2925
3026 return res . FirstOrDefault ( ) ? . BackendDOMNodeId ;
31- } ;
27+ }
3228
33- Func < IElementHandle , string , Task < IElementHandle > > queryOne = async ( IElementHandle element , string selector ) =>
29+ async Task < IElementHandle > QueryOne ( IElementHandle element , string selector )
3430 {
35- var id = await queryOneId ( element , selector ) . ConfigureAwait ( false ) ;
31+ var id = await QueryOneId ( element , selector ) . ConfigureAwait ( false ) ;
3632 if ( id == null )
3733 {
3834 return null ;
3935 }
4036
4137 return await ( ( ElementHandle ) element ) . Frame . SecondaryWorld . AdoptBackendNodeAsync ( id ) . ConfigureAwait ( false ) ;
42- } ;
38+ }
4339
44- Func < IElementHandle , string , WaitForSelectorOptions , Task < IElementHandle > > waitFor = async ( IElementHandle root , string selector , WaitForSelectorOptions options ) =>
40+ async Task < IElementHandle > WaitFor ( IElementHandle root , string selector , WaitForSelectorOptions options )
4541 {
4642 var frame = ( ( ElementHandle ) root ) . Frame ;
47- var element = await frame . SecondaryWorld . AdoptHandleAsync ( root ) . ConfigureAwait ( false ) ;
43+ var element = ( await frame . SecondaryWorld . AdoptHandleAsync ( root ) . ConfigureAwait ( false ) ) as IElementHandle ;
4844
49- Func < string , Task < IElementHandle > > func = ( string selector ) => queryOne ( element , selector ) ;
45+ Task < IElementHandle > Func ( string selector ) => QueryOne ( element , selector ) ;
5046
5147 var binding = new PageBinding ( )
5248 {
5349 Name = "ariaQuerySelector" ,
54- Function = ( Delegate ) func ,
50+ Function = ( Func < string , Task < IElementHandle > > ) Func ,
5551 } ;
5652
5753 return await frame . SecondaryWorld . WaitForSelectorInPageAsync (
5854 @"(_, selector) => globalThis.ariaQuerySelector(selector)" ,
5955 selector ,
6056 options ,
6157 new [ ] { binding } ) . ConfigureAwait ( false ) ;
62- } ;
58+ }
6359
64- Func < IElementHandle , string , Task < IElementHandle [ ] > > queryAll = async ( IElementHandle element , string selector ) =>
60+ async Task < IElementHandle [ ] > QueryAll ( IElementHandle element , string selector )
6561 {
6662 var exeCtx = ( ExecutionContext ) element . ExecutionContext ;
6763 var world = exeCtx . World ;
6864 var ariaSelector = ParseAriaSelector ( selector ) ;
6965 var res = await QueryAXTreeAsync ( exeCtx . Client , element , ariaSelector . Name , ariaSelector . Role ) . ConfigureAwait ( false ) ;
7066 var elements = await Task . WhenAll ( res . Select ( axNode => world . AdoptBackendNodeAsync ( axNode . BackendDOMNodeId ) ) ) . ConfigureAwait ( false ) ;
7167 return elements . ToArray ( ) ;
72- } ;
68+ }
7369
74- Func < IElementHandle , string , Task < IJSHandle > > queryAllArray = async ( IElementHandle element , string selector ) =>
70+ async Task < IJSHandle > QueryAllArray ( IElementHandle element , string selector )
7571 {
76- var elementHandles = await queryAll ( element , selector ) . ConfigureAwait ( false ) ;
72+ var elementHandles = await QueryAll ( element , selector ) . ConfigureAwait ( false ) ;
7773 var exeCtx = element . ExecutionContext ;
7874 var jsHandle = await exeCtx . EvaluateFunctionHandleAsync ( "(...elements) => elements" , elementHandles ) . ConfigureAwait ( false ) ;
7975 return jsHandle ;
80- } ;
76+ }
8177
8278 return new ( )
8379 {
84- QueryOne = queryOne ,
85- WaitFor = waitFor ,
86- QueryAll = queryAll ,
87- QueryAllArray = queryAllArray ,
80+ QueryOne = QueryOne ,
81+ WaitFor = WaitFor ,
82+ QueryAll = QueryAll ,
83+ QueryAllArray = QueryAllArray ,
8884 } ;
8985 }
9086
@@ -104,7 +100,7 @@ private static async Task<IEnumerable<AXTreeNode>> QueryAXTreeAsync(CDPSession c
104100
105101 private static AriaQueryOption ParseAriaSelector ( string selector )
106102 {
107- string NormalizeValue ( string value ) => _normalizedRegex . Replace ( value , " " ) . Trim ( ) ;
103+ static string NormalizeValue ( string value ) => _normalizedRegex . Replace ( value , " " ) . Trim ( ) ;
108104
109105 var knownAriaAttributes = new [ ] { "name" , "role" } ;
110106 AriaQueryOption queryOptions = new ( ) ;
0 commit comments