Closed Danp2 closed 1 year ago
Should this be done with JS ?
@mlipok That wasn't the direction I was planning to go with this. I haven't looked at how _HtmlTableGetWriteToArray
would work with this, but my initial thought was to add some optional parameters that allowed the calling routine to override the default xpaths that are used to get row / col counts and select the list of elements containing the target text.
I just took a look at _HtmlTableGetWriteToArray
and quickly decided that it wouldn't make sense to modify it to allow the above. If we wanted to be compatible with this function, then we would need to translate the non-standard markers before calling _HtmlTableGetWriteToArray
@mlipok See #485 for pending PR. Here's the code that I've been using to test --
#include "wd_helper.au3"
#include "wd_core.au3"
#include "wd_capabilities.au3"
local $sCapabilities=SetupGecko("")
_WD_Startup()
local $sSession=_WD_CreateSession($sCapabilities)
local $url="https://glin.github.io/reactable/articles/examples.html"
_WD_Navigate($sSession,$url)
_WD_LoadWait($sSession)
$sTable = "(//div[@role='table'])[1]"
$sRows = "//div[@role='row']"
$sCols = "//div[@role='row']/div[@role='columnheader']"
$sCells = "//div[@role='cell' or @role='columnheader']"
$aTest1 = _WD_GetTable($sSession, $sTable, $sRows, $sCols, $sCells)
_ArrayDisplay($aTest1, "React Table")
$url="https://www.w3schools.com/html/html_tables.asp"
_WD_Navigate($sSession,$url)
_WD_LoadWait($sSession)
$sTable = "//table[@id='customers']"
$aTest2 = _WD_GetTable($sSession, $sTable)
_ArrayDisplay($aTest2, "Standard Table")
_WD_DeleteSession($sSession)
_WD_Shutdown()
Func SetupGecko($bHeadless = False)
_WD_Option('Driver', 'geckodriver.exe')
_WD_Option('DriverParams', '--log trace')
_WD_Option('Port', 4444)
_WD_CapabilitiesStartup()
_WD_CapabilitiesAdd('alwaysMatch', 'firefox')
_WD_CapabilitiesAdd('browserName', 'firefox')
_WD_CapabilitiesAdd('acceptInsecureCerts', True)
; REMARKS
; When using 32bit geckodriver.exe, you may need to set 'binary' option.
; This shouldn't be needed when using 64bit geckodriver.exe,
; but at the same time setting it is not affecting the script.
Local $sPath = _WD_GetBrowserPath("firefox")
If Not @error Then
_WD_CapabilitiesAdd('binary', $sPath)
ConsoleWrite("wd_demo.au3: _WD_GetBrowserPath() > " & $sPath & @CRLF)
EndIf
If $bHeadless Then _WD_CapabilitiesAdd('args', '--headless')
_WD_CapabilitiesDump(@ScriptLineNumber) ; dump current Capabilities setting to console - only for testing in this demo
Local $sCapabilities = _WD_CapabilitiesGet()
Return $sCapabilities
EndFunc ;==>SetupGecko
Looks interesting.
Could you provide examples for: https://glin.github.io/reactable/articles/examples.html
Specifically:
@mlipok That's the same table that is used in the code I posted above.
Thanks. I was tired. Checked now and everything works fine. Green light as for me 👍
Feature request
Is your feature request related to a problem? Please describe
Originally discussed here. An example table can be viewed here.
Describe the solution you'd like
Enhance
_WD_GetTable
to support overriding of default table markersDescribe alternatives you've considered
Build separate function to support React tables
Additional context