Если вы проверите значение вашего singleNodeValue
, вы заметите, что оно равно null .Это связано с тем, что ваш XPath неверен.
Правильный полный XPath: /html/body/div[2]/div[4]/div[2]/form/fieldset/p[4]/input
Однако в будущем этот путь, скорее всего, будет нарушен, поскольку он опирается на <div>
s и <p>
s должны быть расположены в определенных положениях.Вы можете сделать более «расслабленный» XPath, который все равно найдет нужный элемент.На самом деле, вы можете легко сделать это в Google Chrome, щелкнув правой кнопкой мыши по кнопке, нажмите «Проверить», а затем щелкните правой кнопкой мыши элемент DOM и выберите «Копировать Xpath».
Полученный код будет:
document.evaluate('//*[@id="tool-submit-button"]/input', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();
Если вы хотите использовать его при загрузке страницы, сначала проверьте, не было ли видео уже конвертировано.Вам также может понадобиться дождаться загрузки кнопки:
var checkTimer = setInterval(function() {
var button = document.evaluate('//*[@id="tool-submit-button"]/input', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (button) {
clearInterval(checkTimer);
// Only convert if the gif hasn't already been converted
if (!document.getElementsByTagName("video")[0])
button.click();
}
}, 50);