This answer summarises suggestions given in comments by @Ocaso and @Rinzwind.
I used this:
wget -r -nH -np --cut-dirs=1 --no-check-certificate -U Mozilla --user={uname}
--password={pwd} https://my-host/my-webdav-dir/my-dir-in-webdav
Not perfect (downloaded lots of 'index.html?C=M;O=D' and the like) but otherwise worked ok.
The "-r" downloads recursively, following links.
The "-np" prevents ascending to parent directories (else you download the whole website!).
The "-nH" prevents creating a directory called "my-host" (which I didn't want).
The "--cut-dirs=1" prevents creating a directory called "my-webdav-dir".
The "--no-check-certificate" is because I'm using a self-signed certificate on the webdav server (I'm also forcing https).
The "-U Mozilla" sets the user agent in the http request to "Mozilla" - my webdav server didn't actually need this, but I've included it anyway.