Как я могу нажать кнопку ввода type = "button" с помощью JavaScript? - PullRequest
0 голосов
/ 13 марта 2019

Есть ли способы нажать на вход "type=button"?

Я использовал селектор из строки ввода и получил следующую ошибку:

VM6073: 1 Uncaught DOMException: не удалось выполнить 'querySelector' для 'Document': '# d185940-3e8b-4d2d-6f08-077bb502c07f' не является допустимым селектором. **

Мой код:

const clickArea = document.querySelector('#\38 c3162aa-22f4-46d1-cf1c-29af7ad30dda')

const clickEvent = clickArea.querySelector('input').click()
<div id="8c3162aa-22f4-46d1-cf1c-29af7ad30dda" style="width:900px;height:40px;"><input type="button" id="3e6eda1c-fbb7-4202-ed3f-6090d0a3e465" value="다운로드" style="width:92px;height:30px;float:right;margin-right:10px;margin-top:5px; font-family:Malgun Gothic;font-size:12px;background:#FFFFFF;border-style:solid;border-width:1px;border-color:#4072CB;" class=""></div>

    <input type="button" id="3e6eda1c-fbb7-4202-ed3f-6090d0a3e465" value="다운로드" style="width:92px;height:30px;float:right;margin-right:10px;margin-top:5px; font-family:Malgun Gothic;font-size:12px;background:#FFFFFF;border-style:solid;border-width:1px;border-color:#4072CB;" class="">

Это не работает.

Как я могу это исправить?

Ответы [ 4 ]

0 голосов
/ 13 марта 2019

Вы можете использовать двойную обратную косую черту, чтобы убежать от ведущего числа:

const clickArea = document.querySelector('#\\38 c3162aa-22f4-46d1-cf1c-29af7ad30dda')
 
clickArea.querySelector('input').click()
<div id="8c3162aa-22f4-46d1-cf1c-29af7ad30dda" style="width:900px;height:40px;"><input type="button" id="3e6eda1c-fbb7-4202-ed3f-6090d0a3e465" value="다운로드" style="width:92px;height:30px;float:right;margin-right:10px;margin-top:5px; font-family:Malgun Gothic;font-size:12px;background:#FFFFFF;border-style:solid;border-width:1px;border-color:#4072CB;" class=""></div>

<input type="button" id="3e6eda1c-fbb7-4202-ed3f-6090d0a3e465" value="다운로드" style="width:92px;height:30px;float:right;margin-right:10px;margin-top:5px; font-family:Malgun Gothic;font-size:12px;background:#FFFFFF;border-style:solid;border-width:1px;border-color:#4072CB;" class="">
0 голосов
/ 13 марта 2019

Ваш селектор запросов был сформирован неправильно, и он работал, когда я изменил его на getElementById.Не уверен, что это именно то, что вы ищете, но это лучшее, что я получил, основываясь на вашем вопросе.

const clickArea = document.getElementById('3e6eda1c-fbb7-4202-ed3f-6090d0a3e465');

clickArea.click();
0 голосов
/ 13 марта 2019

Вы можете изменить, как это

const clickArea = document.querySelector('div[id="8c3162aa-22f4-46d1-cf1c-29af7ad30dda"]')

const clickEvent = clickArea.querySelector('input').click()
<div id="8c3162aa-22f4-46d1-cf1c-29af7ad30dda" style="width:900px;height:40px;"><input type="button" id="3e6eda1c-fbb7-4202-ed3f-6090d0a3e465" value="다운로드" style="width:92px;height:30px;float:right;margin-right:10px;margin-top:5px; font-family:Malgun Gothic;font-size:12px;background:#FFFFFF;border-style:solid;border-width:1px;border-color:#4072CB;" class=""></div>

<input type="button" id="3e6eda1c-fbb7-4202-ed3f-6090d0a3e465" value="다운로드" style="width:92px;height:30px;float:right;margin-right:10px;margin-top:5px; font-family:Malgun Gothic;font-size:12px;background:#FFFFFF;border-style:solid;border-width:1px;border-color:#4072CB;" class="">
0 голосов
/ 13 марта 2019

Вы звоните не тому элементу.

const btn = document.querySelector('button');

function showMessage() {
  alert('hello');
}

btn.addEventListener('click', showMessage);

btn.click()
<button>Click me</button>
...