Hi Rohit Namjoshi,
Thank you for wonderful comments and tips. It can solve the problem perfectly, as shown below:
In[113]:= (*Use Visible->False to run the browser in "\[AliasDelimiter]ess" mode, where the browser window does not actually become visible:*)
session = StartWebSession["Chrome", Visible -> False];
page = WebExecute[
"OpenPage" ->
"https://www.cryst.ehu.es/cgi-bin/cryst/programs/nph-getgen?list=new&what=gen&gnum=7"];
inputs = WebExecute[session, "LocateElements" -> "Tag" -> "Input"];
WebExecute[session, "ClickElement" -> Last@inputs];
anchors = WebExecute["LocateElements" -> "Tag" -> "a"];
Select[WebExecute["PageHyperlinks"], StringContainsQ["gnum="]]
Out[118]= \
{"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-getgen?gnum=\
007&what=gp", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=-a-c,b,a&unconv=P%201%20n%201&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=c,b,-a-c&unconv=P%201%20a%201&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=c,a,b&unconv=P%201%201%20a&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=a,-a-c,b&unconv=P%201%201%20n&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=-a-c,c,b&unconv=P%201%201%20b&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=b,c,a&unconv=P%20b%201%201&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=b,a,-a-c&unconv=P%20n%201%201&from=ita", \
"https://www.cryst.ehu.es/cgi-bin/cryst/programs//nph-trgen?gnum=007&\
what=gp&trmat=b,-a-c,c&unconv=P%20c%201%201&from=ita"}
Another question is: Can I set an HTTP or SOCKS5 proxy for the browser started by StartWebSession?