Как удалить идентификатор электронной почты из тега привязки, не открывая приложение электронной почты

#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.