Quelles sont les données spécifiques avez-vous besoin de ces paragraphes? Dans l'exemple actuel que j'ai posté ci-dessous obtient le innerHTML de chaque paragraphe. Le javascript pourrait être:
function GetContents() {
var arr = [];
var paragraphs = document.getElementsByTagName('p');
for (var i = 0; i < paragraphs.length; i++) {
arr.push(paragraphs[i].innerHTML);
}
return arr;
}
GetContents();
et vous pouvez exécuter ce directement par:
JSObject paragraphs = webControl1.ExecuteJavascriptWithResult("function GetContents() {var arr = [];var paragraphs = document.getElementsByTagName('p');for (var i = 0; i < paragraphs.length; i++) {arr.push(paragraphs[i].innerHTML);}return arr;} GetContents();")
Dans mon cas, il semble cependant que je continue à obtenir un contenu non défini pour les paragraphes variables. Le travail autour de moi met le GetContents()
à l'intérieur d'une fonction alert()
.
Il devient ceci:
JSObject paragraphs = webControl1.ExecuteJavascriptWithResult("function GetContents() {var arr = [];var paragraphs = document.getElementsByTagName('p');for (var i = 0; i < paragraphs.length; i++) {arr.push(paragraphs[i].innerHTML);}return arr;} alert(GetContents());")
et vous devrez attendre l'événement webControl1.ShowJavascriptDialog
au feu.
Dans Visual Basic.NET, vous pouvez faire:
Private Sub JSDialog(ByVal sender As Object, ByVal e As JavascriptDialogEventArgs) Handles webControl1.ShowJavascriptDialog
e.Cancel = False
e.Handled = True
MessageBox.Show(e.Message)
End Sub
En C#, vous pouvez le faire en créant la fonction:
private void JSDialog(object sender, JavascriptDialogEventArgs e) {
e.Cancel = false;
e.Handled = true;
MessageBox.Show(e.Message);
}
et ajoutez ceci:
webControl1.ShowJavascriptDialog += OnShowJavascriptDialog;
merci :) Je dois obtenir le texte interne et le stocker dans la variable C# pour ne pas l'alerter. – mtesta010
Ah agréable d'entendre. Bien que la partie d'alerte est juste une alternative si la première méthode ne fonctionne pas comme cela n'a pas fonctionné ici dans mon côté. L'e.Message de la fonction JSDialog contient les données que vous avez alertées dans JS. À votre santé! – Nathu
merci mais j'ai besoin de manipuler l'élément individuel de l'étiquette 'p' et peut modifier ou supprimer l'un d'eux – mtesta010