Как видите, я не пытаюсь получить доступ к чему-либо изнутри фактического окна iframe, а сам тег iframe.
Пример элемента iframe:
<iframe id="placeholder"
data-ids="1J2cSrn6ox4,BUQzSn85NMs,Fzav6plKfr8,MsNJTTP3LMM,hTZLXnY7Gc0"
style="100%; 330px;" frameborder="0" allowfullscreen="1"
allow="accelerometer; autoplay; encrypted-media; gyroscope;
picture-in-picture" width="100%" height="100%"></iframe>
Я пытаясь получить строку, которая назначена идентификаторам данных свойства, как я могу получить это с помощью XPath?
//iframe[1].data-ids
//*[@id="placeholder"]/@data-ids
Если я использую JavaScript, функция getAttribute работает для получения:
var frame = document.querySelector('iframe');
var val = frame.getAttribute('data-ids');
alert(val);
но как это сделать в Xpath?
Обновление 1
Я использую инспектор в Chrome, в элементах CTRL-F выполняет поиск для XPATH;
он выиграл ' я не могу получить доступ к указанной строке c, на которую я пытаюсь сослаться:
//*[@id="placeholder"]//@data-ids
Когда я использую это, оно не работает, оно все равно выделяет весь iframe.
знаете, как получить доступ только к строке между кавычками, присвоенной атрибуту «data-ids» тега iframe?
Существует ли команда, аналогичная команде JS getAttribute()
в Xpath? Я хочу вернуть только "1J2cSrn6ox4, BUQzSn85NMs, Fzav6plKfr8, MsNJTTP3LMM, hTZLXnY7Gc0".
Update 2
Теперь я использую JavaScript "инспектор" внутри 1048 * чтобы оценить ссылку Xpath следующим образом:
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
test = getElementByXpath("//*[@id="placeholder"]//@data-ids")
console.log(test);
и теперь она выводит на консоль следующее:
data-ids="1J2cSrn6ox4,BUQzSn85NMs,Fzav6plKfr8,MsNJTTP3LMM,hTZLXnY7Gc0"
, что здорово, но как мне получить просто текст? Не пара имя / значение, не attrName="value"
, а просто что находится между кавычками?
Я не спрашиваю, как это сделать с помощью JavaScript; Я спрашиваю, как нацелить строковое значение атрибута без преобразования его в строку.