У меня есть проект, где я удаляю веб-сайт, который загружает данные, когда пользователь нажимает на элемент. В интересной области есть два столбца, в которых пользователь должен щелкнуть правой колонкой, чтобы страница активировала XHR, который загружает данные (элементы списка), а затем щелкните элемент списка, чтобы загрузить нужные данные через другой XHR.
Для очистки данных я использую Selenium с Python. Поскольку Selenium позволяет мне выполнять JS, я открыл Dev Tools в Firefox, выбрал div, выполнил .click () и надеялся, что данные загружаются.
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
getElementByXpath("//*[@id='__xmlview3--ImpInfoTab-text']").click()
Но нет. В точках останова прослушивателя событий я выбрал событие mouseclick и все XHR, чтобы увидеть, загружается ли что-нибудь. Я видел 3 события клика (одно - Adblock, два других - из JS файлов со страницы). Но не было XHR.
09:25:25.128 click { target: div#__xmlview3--ImpInfoTab-text.sapMITBText, buttons: 0, clientX: 0, clientY: 0, layerX: 0, layerY: 0 } include.postload.js:101:2
09:25:25.134 click { target: div#__xmlview3--ImpInfoTab-text.sapMITBText, buttons: 0, clientX: 0, clientY: 0, layerX: 0, layerY: 0 } sap-ui-core.js:1766:10541
09:25:25.137 click { target: div#__xmlview3--ImpInfoTab-text.sapMITBText, buttons: 0, clientX: 0, clientY: 0, layerX: 0, layerY: 0 } sap-ui-core.js:126:36437
Второй вызов к селектору jQuery Sizzle CSS, третий к CSS функции проверки типа / запроса носителя.
Как мне подделать пользователь щелкает элемент, в который загружаются данные?
Если вы хотите попробовать: SAP Fiori Apps Library (нажмите IMPLEMENTATION INFORMATION
, а затем Configuration
). Если у вас активированы точки останова мыши и XHR, вы увидите 4 события щелчка, несколько записей XHR POST и много записей readystatechange.