特殊なログイン画面を簡単な操作でログイン出来るようにしたい。

実現したいこと

Webサービスのログイン画面にクリックのみでログイン出来るように
したいのですが、ログイン画面でIDとパスワードが各2つ必要で
Googleなどのオートログインが現時点で出来ません。
ログイン画面は
ID[A]
パスワード[A]
ID[B]
パスワード[B]
こんな感じです。

発生している問題・分からないこと

WebサービスのブラウザはEdgeで使用していますがchromeにも対応しているので
設定などでオートログイン出来るのであれば、設定方法を知りたい。

現在、JavaのRobotクラスで無理くりログインするプログラムを作ってみたのですが
無駄な処理が多いのか、入力が安定せず「 _ 」を入力するところで
「 = 」になってしまうので
アドバイスを頂きたい。
参考用のコードはすべての数字を0に文字をA変換してます。

該当のソースコード

Java8

1import java.awt.AWTException; 2import java.awt.BorderLayout; 3import java.awt.Dimension; 4import java.awt.Font; 5import java.awt.Robot; 6import java.awt.event.ActionEvent; 7import java.awt.event.ActionListener; 8import java.awt.event.KeyEvent; 9 10import javax.swing.JButton; 11import javax.swing.JFrame; 12import javax.swing.JLabel; 13import javax.swing.JPanel; 14 15public class Expo extends JFrame implements ActionListener{ 16 17 JButton btn1,btn2; 18 19 public static void main(String[]args){ 20 21 Expo frame = new Expo("ログイン情報入力"); 22 23 frame.setVisible(true); 24 } 25 Expo(String title){ 26 27 setTitle(title); 28 29 setBounds(850, 100, 500, 280); 30 31 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 32 //一行目 33 JLabel label1 = new JLabel("このプログラムの使い方"); 34 label1.setFont(new Font("MS P明朝",Font.PLAIN,20)); 35 36 JLabel label2 = new JLabel("デスクトップにある「使用するサイトの名前」を開き"); 37 label2.setFont(new Font("",Font.PLAIN,16)); 38 39 JLabel label3 = new JLabel("ログイン画面が出たら下にある [実行] ボタンを押してください"); 40 label3.setFont(new Font("",Font.PLAIN,16)); 41 42 JLabel label4 = new JLabel("[実行]を押したら3秒以内に「ID[A]」を入力する所をクリックして下さい。"); 43 JPanel p = new JPanel(); 44 45 JLabel label5 = new JLabel("もしうまく入力出来なかった場合"); 46 label5.setFont(new Font("",Font.PLAIN,16)); 47 48 JLabel label6 = new JLabel("IMEパッド(タスクバーの時計の左隣)が「ENG」になっていた場合"); 49 label6.setFont(new Font("",Font.PLAIN,16)); 50 JLabel label7 = new JLabel("windowsキーとスペースを同時に押して再実行してください"); 51 label7.setFont(new Font("",Font.PLAIN,16)); 52 53 54 55 JPanel l = new JPanel() ; 56 57 btn1 = new JButton(" 実行 "); 58 btn1.setPreferredSize(new Dimension(100,30)); 59 60 btn2 = new JButton("キャンセル"); 61 btn2.setPreferredSize(new Dimension(100,30)); 62 63 //変数確認用コード↓ 64 //System.out.println("btn1"); 65 //System.out.println(btn1); 66 //System.out.println("btn2"); 67 //System.out.println(btn2); 68 69 l.add(label1); 70 l.add(label2); 71 l.add(label3); 72 l.add(label4); 73 l.add(label5); 74 l.add(label6); 75 l.add(label7); 76 77 p.add(btn1); 78 79 btn1.addActionListener(this); 80 81 p.add(btn2); 82 83 btn2.addActionListener(this); 84 85 86 getContentPane().add(p,BorderLayout.SOUTH); 87 88 getContentPane().add(l,BorderLayout.CENTER); 89 90 } 91 92 @Override 93 public void actionPerformed(ActionEvent e) { 94 95 Object obj = e.getSource(); 96 97 //変数確認用コード↓ 98 // System.out.println("Abtn1"); 99 //System.out.println(btn1); 100 // System.out.println("Abtn2"); 101 //System.out.println(btn2); 102 103 104 105 if(obj == btn1){ 106 107 Robot robot = null; 108 try { 109 robot = new Robot(); 110 } catch (AWTException e1) { 111 e1.printStackTrace(); 112 } 113 //入力動作 114 robot.delay(3000); 115 116 //ID[A] 117 robot.keyPress(KeyEvent.VK_0); 118 robot.keyRelease(KeyEvent.VK_0); 119 120 robot.keyPress(KeyEvent.VK_0); 121 robot.keyRelease(KeyEvent.VK_0); 122 123 robot.keyPress(KeyEvent.VK_0); 124 robot.keyRelease(KeyEvent.VK_0); 125 126 robot.keyPress(KeyEvent.VK_MINUS); 127 robot.keyRelease(KeyEvent.VK_MINUS); 128 129 robot.keyPress(KeyEvent.VK_0); 130 robot.keyRelease(KeyEvent.VK_0); 131 132 robot.keyPress(KeyEvent.VK_0); 133 robot.keyRelease(KeyEvent.VK_0); 134 135 robot.keyPress(KeyEvent.VK_0); 136 robot.keyRelease(KeyEvent.VK_0); 137 138 robot.keyPress(KeyEvent.VK_MINUS); 139 robot.keyRelease(KeyEvent.VK_MINUS); 140 141 robot.keyPress(KeyEvent.VK_0); 142 robot.keyRelease(KeyEvent.VK_0); 143 144 robot.keyPress(KeyEvent.VK_0); 145 robot.keyRelease(KeyEvent.VK_0); 146 147 robot.keyPress(KeyEvent.VK_0); 148 robot.keyRelease(KeyEvent.VK_0); 149 150 robot.keyPress(KeyEvent.VK_0); 151 robot.keyRelease(KeyEvent.VK_0); 152 153 robot.keyPress(KeyEvent.VK_WINDOWS); 154 robot.keyPress(KeyEvent.VK_SPACE); 155 156 157 158 robot.keyRelease(KeyEvent.VK_WINDOWS); 159 robot.keyRelease(KeyEvent.VK_SPACE); 160 161 robot.delay(200); 162 163 robot.keyPress(KeyEvent.VK_SHIFT); 164 165 robot.keyPress(KeyEvent.VK_MINUS); 166 robot.keyRelease(KeyEvent.VK_MINUS); 167 168 robot.keyRelease(KeyEvent.VK_SHIFT); 169 170 robot.keyPress(KeyEvent.VK_WINDOWS); 171 robot.keyPress(KeyEvent.VK_SPACE); 172 173 robot.keyRelease(KeyEvent.VK_WINDOWS); 174 robot.keyRelease(KeyEvent.VK_SPACE); 175 176 robot.delay(150); 177 178 robot.keyPress(KeyEvent.VK_SHIFT); 179 180 robot.keyPress(KeyEvent.VK_A); 181 robot.keyRelease(KeyEvent.VK_A); 182 183 robot.keyPress(KeyEvent.VK_A); 184 robot.keyRelease(KeyEvent.VK_A); 185 186 robot.keyRelease(KeyEvent.VK_SHIFT); 187 188 robot.keyPress(KeyEvent.VK_0); 189 robot.keyRelease(KeyEvent.VK_0); 190 191 robot.keyPress(KeyEvent.VK_0); 192 robot.keyRelease(KeyEvent.VK_0); 193 194 robot.keyPress(KeyEvent.VK_0); 195 robot.keyRelease(KeyEvent.VK_0); 196 197 robot.keyPress(KeyEvent.VK_0); 198 robot.keyRelease(KeyEvent.VK_0); 199 200 robot.keyPress(KeyEvent.VK_0); 201 robot.keyRelease(KeyEvent.VK_0); 202 203 robot.keyPress(KeyEvent.VK_0); 204 robot.keyRelease(KeyEvent.VK_0); 205 206 robot.keyPress(KeyEvent.VK_TAB); 207 robot.keyRelease(KeyEvent.VK_TAB); 208 209 robot.delay(100); 210 211 //パスワード[A] 212 robot.keyPress(KeyEvent.VK_SHIFT); 213 214 robot.keyPress(KeyEvent.VK_A); 215 robot.keyRelease(KeyEvent.VK_A); 216 217 robot.keyPress(KeyEvent.VK_A); 218 robot.keyRelease(KeyEvent.VK_A); 219 220 robot.keyPress(KeyEvent.VK_A); 221 robot.keyRelease(KeyEvent.VK_A); 222 223 robot.keyPress(KeyEvent.VK_A); 224 robot.keyRelease(KeyEvent.VK_A); 225 226 robot.keyPress(KeyEvent.VK_A); 227 robot.keyRelease(KeyEvent.VK_A); 228 229 robot.keyPress(KeyEvent.VK_A); 230 robot.keyRelease(KeyEvent.VK_A); 231 232 robot.keyPress(KeyEvent.VK_A); 233 robot.keyRelease(KeyEvent.VK_A); 234 235 robot.keyPress(KeyEvent.VK_A); 236 robot.keyRelease(KeyEvent.VK_A); 237 238 robot.keyRelease(KeyEvent.VK_SHIFT); 239 240 robot.keyPress(KeyEvent.VK_TAB); 241 robot.keyRelease(KeyEvent.VK_TAB); 242 243 robot.delay(100); 244 245 //ID[B] 246 robot.keyPress(KeyEvent.VK_SHIFT); 247 248 robot.keyPress(KeyEvent.VK_A); 249 robot.keyRelease(KeyEvent.VK_A); 250 251 robot.keyPress(KeyEvent.VK_A); 252 robot.keyRelease(KeyEvent.VK_A); 253 254 robot.keyRelease(KeyEvent.VK_SHIFT); 255 256 robot.keyPress(KeyEvent.VK_0); 257 robot.keyRelease(KeyEvent.VK_0); 258 259 robot.keyPress(KeyEvent.VK_0); 260 robot.keyRelease(KeyEvent.VK_0); 261 262 robot.keyPress(KeyEvent.VK_0); 263 robot.keyRelease(KeyEvent.VK_0); 264 265 robot.keyPress(KeyEvent.VK_0); 266 robot.keyRelease(KeyEvent.VK_0); 267 268 robot.keyPress(KeyEvent.VK_0); 269 robot.keyRelease(KeyEvent.VK_0); 270 271 robot.keyPress(KeyEvent.VK_0); 272 robot.keyRelease(KeyEvent.VK_0); 273 274 robot.keyPress(KeyEvent.VK_WINDOWS); 275 robot.keyPress(KeyEvent.VK_SPACE); 276 277 robot.keyRelease(KeyEvent.VK_WINDOWS); 278 robot.keyRelease(KeyEvent.VK_SPACE); 279 280 robot.delay(200); 281 282 robot.keyPress(KeyEvent.VK_SHIFT); 283 284 robot.keyPress(KeyEvent.VK_MINUS); 285 robot.keyRelease(KeyEvent.VK_MINUS); 286 287 robot.keyRelease(KeyEvent.VK_SHIFT); 288 289 robot.keyPress(KeyEvent.VK_WINDOWS); 290 robot.keyPress(KeyEvent.VK_SPACE); 291 292 robot.keyRelease(KeyEvent.VK_WINDOWS); 293 robot.keyRelease(KeyEvent.VK_SPACE); 294 295 robot.delay(150); 296 297 298 robot.keyPress(KeyEvent.VK_0); 299 robot.keyRelease(KeyEvent.VK_0); 300 301 302 robot.keyPress(KeyEvent.VK_0); 303 robot.keyRelease(KeyEvent.VK_0); 304 305 robot.keyPress(KeyEvent.VK_TAB); 306 robot.keyRelease(KeyEvent.VK_TAB); 307 308 robot.delay(100); 309 310 //パスワード[B] 311 robot.keyPress(KeyEvent.VK_SHIFT); 312 313 314 robot.keyPress(KeyEvent.VK_A); 315 robot.keyRelease(KeyEvent.VK_A); 316 317 318 robot.keyPress(KeyEvent.VK_A); 319 robot.keyRelease(KeyEvent.VK_A); 320 321 322 robot.keyPress(KeyEvent.VK_A); 323 robot.keyRelease(KeyEvent.VK_A); 324 325 326 robot.keyPress(KeyEvent.VK_A); 327 robot.keyRelease(KeyEvent.VK_A); 328 329 330 robot.keyPress(KeyEvent.VK_A); 331 robot.keyRelease(KeyEvent.VK_A); 332 333 334 robot.keyPress(KeyEvent.VK_A); 335 robot.keyRelease(KeyEvent.VK_A); 336 337 338 robot.keyPress(KeyEvent.VK_A); 339 robot.keyRelease(KeyEvent.VK_A); 340 341 342 robot.keyPress(KeyEvent.VK_A); 343 robot.keyRelease(KeyEvent.VK_A); 344 345 robot.keyRelease(KeyEvent.VK_SHIFT); 346 347 System.out.println("プログラムが正常に起動し終了しました。"); 348 349 //System.out.println(obj); 350 351 System.exit(0); 352 353 } 354 355 System.out.println("プログラムがキャンセルされました。"); 356 357 //System.out.println(obj); 358 359 360 System.exit(0); 361 362 } 363 364 365 366} 367 368

試したこと・調べたこと

上記の詳細・結果

seleniumは挫折しました。

補足

使用環境 windows8 windows10 の両方で使っています。
eclipse

コメントを投稿

0 コメント