我想编写一个脚本,它接受一个文本参数,打开一个到特定网站的连接,并使用字段的 ID 将 arg 输入到文本字段中。这可能吗?我该怎么做?我是一个彻头彻尾的 shell 菜鸟
编辑:
确切流程:
- start script with string
- input string into text field on web page
- click form button
- wait for processing
- click hyperlink
最佳答案
如果您确切知道需要填写哪个字段,则可以使用 lynx
完成。假设您将脚本作为输入参数获取字符串 S
。然后创建一个命令脚本,它将指导 lynx
完成其行为。
例如,假设S=foo
,你的字段是网页中的第二个字段。之后,还有两个字段,然后是提交按钮。之后等待页面加载并单击超链接(之后退出)。网页是 www.something.com。
命令脚本将在文件 bar.txt 中:
key <tab> //get to first field
key <tab> //get to second field
key f //input f
key o //input o
key o //input o
key <tab> //get to third field
key <tab> //get to fourth field
key <tab> //get to sumbit button
key ^J //click submit and wait for load
key <tab> //get to hyperlink
key ^J //click hyperlink and wait for load
key Q //exit
key y //confirm exit
然后主命令将是 lynx www.something.com -accept_all_cookies -cmd_script=bar.txt
现在您需要做的就是动态创建输入字符串。
#!/bin/bash
script=bar.txt
input=$1
webpage=www.something.com
len=${#input}
echo 'key <tab>' > $script
echo 'key <tab>' >> $script
for i in `echo $input|fold -w1`
do
echo 'key '$i >> $script
done
echo 'key <tab>' >> $script
echo 'key <tab>' >> $script
echo 'key <tab>' >> $script
echo 'key ^J' >> $script
echo 'key <tab>' >> $script
echo 'key ^J' >> $script
echo 'key Q' >> $script
echo 'key y' >> $script
lnyx $webpage -accept_all_cookies -cmd_script=bar.txt
现在您需要做的就是保存脚本,将其修改为可执行文件并将其命名为./script your_string
关于bash - Shell:连接到网站并访问字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12385795/