bash - Shell:连接到网站并访问字段

标签 bash shell scripting

我想编写一个脚本,它接受一个文本参数,打开一个到特定网站的连接,并使用字段的 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/

相关文章:

linux - "mv file1 *.file1"是做什么的?

linux - 在 shell 中并行运行多个命令并将其保存在文件中

PHP脚本在linux机器上运行arp命令来检测局域网中计算机的mac地址

linux - 用于连接两列并在另一个文件中查找连接值的 awk 脚本

linux - 如何从 bash 脚本中退出 yarn top 命令的交互模式

regex - 正确查找 RPAREN(以实现快速解析)

linux - bash 脚本如何确保运行的副本不超过一个?

bash - Fedora 容器 No 'find' 命令可用

linux - 在两列中显示重复行,每列三列

linux - 操作不同的文件并将它们的最大值打印到新文件