我试图在谷歌表单上随机选择单选按钮。我试着在网上浏览一个工作脚本,但他们都没有工作。我试着做我自己的,但我总是得到这个错误:
Cannot read property 'click' of undefined.
首先我做a:
document.querySelectorAll('.freebirdFormviewerViewNumberedItemContainer');
获取表单的所有部分。它返回正确数量的零件。然后输入
item.querySelectorAll(".appsMaterialWizToggleRadiogroupOffRadio");
获取该部分中的所有单选按钮,并返回正确数量的单选按钮。
之后,我随机选择一个并对其执行.click()
,但它给了我那个错误。即使我键入querySelect其他选项,它仍然不起作用。
任何想法如何解决或谷歌使它不可能操纵它的形式?
查看google表单中单选按钮的底层HTML,我能够使用所有这些类一起隔离每个单选按钮,因此:
var allRadioButtons = document.querySelectorAll(".appsMaterialWizToggleRadiogroupElContainer.exportContainerEl.docssharedWizToggleLabeledControl.freebirdThemedRadio.freebirdThemedRadioDarkerDisabled");
var numberOfRadioButtons = allRadioButtons.length;
function randomNumber(min, max) {
return Math.floor((Math.random() * max) + min);
}
var randomRadioButtonNumberToSelect = randomNumber(0, numberOfRadioButtons);
allRadioButtons[randomRadioButtonNumberToSelect].click();
适合我。
这当然只适用于谷歌表单中的一个问题,你必须做一些更多的操作来处理多个问题,我建议首先找到一个问题数组,然后为每个问题随机选择该问题的子问题的单选按钮,然后转到下一个问题