#javascript #c# #html #cefsharp
Вопрос:
Я пытаюсь разработать веб-скребок на базе Windows, используя HAP, CefSharp и C#. У меня нет глубоких знаний в обработке DOM и HTML.
Можно ли каким-либо образом удалить идентификатор электронной почты (или просто скопировать идентификатор электронной почты в буфер обмена) по следующей ссылке, не открывая почтовый клиент или новую вкладку.
<a class="classAuthorEmail" href="mailto:" aria-label="Mail Option">email</a>
Заранее спасибо…
Комментарии:
1. Привет, я не совсем понимаю, чего ты хочешь. Должно ли это копирование выполняться с помощью Javascript? И что вы подразумеваете под «идентификатором электронной почты» — это значение href или…?
2. Какой » идентификатор электронной почты «?
3. извините за мой английский… у тега привязки нет идентификатора электронной почты, но он просто показывает опцию «mailto:». но при нажатии на него открывается почтовое приложение. мне нужно очистить значение href, которое является идентификатором электронной почты. вот пример ссылки hindawi.com/journals/aag/2021/1198341 .
4. По умолчанию в CefSharp mailto ссылки ничего не делают, вы можете перехватить ссылку, нажав посмотреть github.com/cefsharp/CefSharp/wiki/… например. Вам не нужно вызывать Процесс. Начните с того, что вы можете делать все, что вам нравится.
Ответ №1:
Для работы с DOM вам понадобится querySelectorAll.
var els = document.querySelectorAll("[href^='mailto'");
например, для ссылки,
<p><a href="mailto:someone@example.com">Send email</a></p>
Вы получите : mailto:someone@example.com
Чтобы сохранить JavaScript, вы можете использовать следующее:
var mails = [];
for (var i = 0, l = els.length; i < l; i ) {
var el = els[i];
mails.push(el.href.replace(/mailto:/gi, ''));
}
Комментарии:
1. но вы можете видеть, что в href нет идентификатора электронной почты. он просто показывает «mailto:». Я думаю, что его нужно перехватить при вызове класса тега привязки или при выполнении сценария. как этого достичь
2. Я подумал, что это пример. Если нет электронной почты, это, вероятно, вызовет это с помощью JavaScript, поэтому вам нужно, чтобы ваша очистка позволила запустить JavaScript.