Способ автоматически нажать кнопку, которая содержит определенный текст?

бит длинный, он работает, я думаю ...

prices = [5, 12, 45]
names = []
for i, _ in enumerate(prices):
    names.append("price"+str(i+1))
dict = {}
for name, price in zip(names, prices):
    dict[name] = price
for item in dict:
    print(item, "=", dict[item])
0
задан theCrabNebula 18 January 2019 в 11:07
поделиться

1 ответ

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

<li class="Selection reg">
  <!-- this input -->
  <input choiceid="1" aria-labelledby="QID2-1-label" class="radio QR-QID2-1 QWatchTimer" type="radio" name="QR~QID2" id="QR~QID2~1" value="1" data-runtime-checked="runtime.Selected">

  <!-- not these elements -->
  <label for="QR~QID2~1" class="q-radio q-checked" aria-hidden="true" data-runtime-class-q-checked="runtime.Choices.1.Selected"></label>  <span class="LabelWrapper"> 
  <label for="QR~QID2~1" id="QID2-1-label" class="SingleAnswer  q-checked" data-runtime-class-q-checked="runtime.Choices.1.Selected"><span>Male</span></label></span> <div class="clear"></div>
</li>

Таким образом, вам нужно вызвать метод click элемента input для его запуска. Например, вы можете сделать:

var labels = document.getElementsByTagName('label');

for (var i = 0; i < labels.length; ++i) { 
    if (labels[i].textContent == "Male") { 
        labels[i].parentElement.parentElement.firstElementChild.click()
    }
}
0
ответ дан Saraband 18 January 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: