質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

3回答

1101閲覧

ブックマークレットについて

worldtravel

総合スコア23

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

2グッド

2クリップ

投稿2019/08/14 15:11

Googleのトップページにて
https://www.google.co.jp/

キーワード入力欄に「test 」と入力すると自動でいくつかの候補が表示されますが、
ブックマークレットに下記の様に書いて実行しても、
入力欄に「test 」と入力されますが、候補は何も表示されません。
document.getElementsByName('q')[0].value = 'test ';

そこで、この後どうすれば、自動で候補を表示させられるかを教えてください。
キーを押したと言うことをgoogleのjavascriptに伝えれば良いのかなと思うのですが方法が分かりません。
何か関数を呼び出せば良いのでしょうか?

宜しくお願い致します。

x_x👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

dispatchEvent でキーボード入力に対応するイベントを発火させたみては、どうでしょう。
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/dispatchEvent

keydown, keyup, input 等、候補はいくつかありますが、ブラウザのDevelopper Toolsで「監視されているイベント」を確認するのが確実です。
https://developers.google.com/web/tools/chrome-devtools/console/events?hl=ja

Re: worldtravel さん

投稿2019/08/20 04:18

think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

worldtravel

2019/08/20 08:59

ありがとうございます。 私のレベルではなかなか理解できないのですが、色々と調べて試して見ます。
guest

0

こんにちは

js

1document.getElementsByName('q')[0].value = 'test ';

のようなコードだけでは入力欄に文字を入力された状態になるだけで、送信はされていません
通常エンターキーを押せばフォームは送信されます。
javascriptで自動的にフォームを送信させたい場合、

js

1document.入力欄のフォーム名.submit()

で試してみてください

投稿2019/08/20 00:43

編集2019/08/20 00:44
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

worldtravel

2019/08/20 03:36

ありがとうございます。 submitしてしまいますと、画面が遷移してしまいます。 キーワード入力欄付近に表示されるサジェストキーワードを表示させたいのです。
退会済みユーザー

退会済みユーザー

2019/08/20 05:01

質問をよく読んでいませんでした・・ 間違った回答をしてしまいすみませんでした
worldtravel

2019/08/20 08:59

いえいえ、ありがとうございました。
guest

0

想像ですが、1文字ずつキーインイベントを発生させるのでは?

投稿2019/08/15 01:52

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

worldtravel

2019/08/17 13:22 編集

ありがとうございます。 下記の様にしてスペースを入れてみたつもりですがダメでした。 `var element = document.getElementsByName('q')[0]; element.value = 'test'; element.dispatchEvent(new KeyboardEvent("keydown",{ keyCode: 13 }));`
otn

2019/08/17 13:44

人間が操作するときに発生するイベントを全部シミュレートするのでは?と思いました。 実用的には、RPAツールを使った方が簡単でしょう。
worldtravel

2019/08/17 13:54

chromeにて、ブックマークレットか拡張機能で使いたいと思っています。 表示されるサジェストワードを取得して保存すると言うことを ある条件に従って繰り返し行いたいのです。 また、無料で使いたいと言うこともあります。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問