Question
Parsed HTML javascript disabled type ="submit"
- Joseph JULIEN
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 5 ans 10 mois #25553
par Joseph JULIEN
Parsed HTML javascript disabled type ="submit" a été créé par Joseph JULIEN
Bonjour à tous,
Voici mon problème, j'aimerais parser une page HTML pour pouvoir remplacer un fichier de configuration directement en changeant le fichier de config et en appuyant sur le bouton OK .
Voici mon code powershell:
[code:1]add-type @\"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
\"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
$config=Get-Content \"fichierdeconfamettredanslesite.txt\"
$webSite = \"https://192.168.154.180:4444\"
$access = Invoke-WebRequest -uri $webSite -Method Get
#Remplir le formulaire avec le nom d'utilisateur et le mot de passe
$form = $access.forms[0]
$username = \"username\"
$password = \"password\"
$form.fields[\"login\"] = $username
$form.fields[\"password\"] = $password
$loginResponse = Invoke-WebRequest -uri ($webSite + $form.Action) -SessionVariable login -Method post -Body $form.fields
$Global:loginResponse.StatusDescription
$Global:loginResponse.StatusCode
$urlcouche7=$webSite+\"/layer7\"
$pagecouche7=Invoke-WebRequest -Uri ($urlcouche7) -WebSession $login
$conf7=$pageconf7.ParsedHtml.getElementsByTagName(\"textarea\"«») | ? {$_.className -eq \"configarea\" -and $_.id -eq \"cfg\"}
$co=$conf7.innerHTML
$to=$co.replace($co,$configNancy)
$toto=$pageconf7.ParsedHtml.getElementsByTagName(\"input\"«») | ?{ $_.name -eq \"cmd_submit\" -and $_.type -eq \"submit\" -and $_.value -eq \"OK\"}
$toto.click()[/code:1]
Le seul soucis c'est que la variable $toto.click() ne fonctionne pas. Voici le code source HTML:
[code:1] <div id=\"dokbtn\" style=\"display: none;\">
<table>
<tr><td>
<input class=\"boutond\" disabled type=\"submit\" name=\"cmd_submit\" value=\"OK\" />
</td><td>
<input class=\"boutond\" disabled type=\"submit\" name=\"cmd_undo\" value=\"Abandon\" />
</td><td>
</td><td>
<input class=\"boutond\" disable type=\"submit\" name=\"cmd_clear\" value=\"Réinitialiser\" />
</td></tr>
</table>
</div>
<div id=\"okbtn\" style=\"display: block;\">
<table>
<tr><td>
<input class=\"bouton\" type=\"submit\" name=\"cmd_submit\" value=\"OK\" />
</td><td>
<input class=\"boutond\" disabled type=\"submit\" name=\"cmd_undo\" value=\"Abandon\" />[/code:1]
On remarque que le type du bouton OK est disabled type=\"submit\"... C'est à cause de cela je présume mais il y a encore autre chose qui me parait bizarre je vous met le code source HTML pour le fichier de config avec le javascript:
[code:1] <td colspan=\"4\" width=\"100%\">
<textarea class=\"configarea\" id=\"cfg\" name=\"cfg\" wrap=off onFocus=\"javascript:okbtn();\" onKeyUp=\"javascript:«»showline(this,'lineinfo');\" onClick=\"javascript:«»showline(this,'lineinfo');\" >[/code:1]
On remarque qu'il y a un onFocus=javascript:okbtn()
Je vous met le code javascript qui correspond:
[code:1]
function iedummy() {
var obj = document.getElementById(\"cfg\"«»);
obj.onfocus=okbtn;
return;
}[/code:1]
Est-ce que quelqu'un pourrait m'aider svp?
Merci d'avance.<br><br>Message édité par: Joseph54520, à: 6/06/18 15:37
Voici mon problème, j'aimerais parser une page HTML pour pouvoir remplacer un fichier de configuration directement en changeant le fichier de config et en appuyant sur le bouton OK .
Voici mon code powershell:
[code:1]add-type @\"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
\"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
$config=Get-Content \"fichierdeconfamettredanslesite.txt\"
$webSite = \"https://192.168.154.180:4444\"
$access = Invoke-WebRequest -uri $webSite -Method Get
#Remplir le formulaire avec le nom d'utilisateur et le mot de passe
$form = $access.forms[0]
$username = \"username\"
$password = \"password\"
$form.fields[\"login\"] = $username
$form.fields[\"password\"] = $password
$loginResponse = Invoke-WebRequest -uri ($webSite + $form.Action) -SessionVariable login -Method post -Body $form.fields
$Global:loginResponse.StatusDescription
$Global:loginResponse.StatusCode
$urlcouche7=$webSite+\"/layer7\"
$pagecouche7=Invoke-WebRequest -Uri ($urlcouche7) -WebSession $login
$conf7=$pageconf7.ParsedHtml.getElementsByTagName(\"textarea\"«») | ? {$_.className -eq \"configarea\" -and $_.id -eq \"cfg\"}
$co=$conf7.innerHTML
$to=$co.replace($co,$configNancy)
$toto=$pageconf7.ParsedHtml.getElementsByTagName(\"input\"«») | ?{ $_.name -eq \"cmd_submit\" -and $_.type -eq \"submit\" -and $_.value -eq \"OK\"}
$toto.click()[/code:1]
Le seul soucis c'est que la variable $toto.click() ne fonctionne pas. Voici le code source HTML:
[code:1] <div id=\"dokbtn\" style=\"display: none;\">
<table>
<tr><td>
<input class=\"boutond\" disabled type=\"submit\" name=\"cmd_submit\" value=\"OK\" />
</td><td>
<input class=\"boutond\" disabled type=\"submit\" name=\"cmd_undo\" value=\"Abandon\" />
</td><td>
</td><td>
<input class=\"boutond\" disable type=\"submit\" name=\"cmd_clear\" value=\"Réinitialiser\" />
</td></tr>
</table>
</div>
<div id=\"okbtn\" style=\"display: block;\">
<table>
<tr><td>
<input class=\"bouton\" type=\"submit\" name=\"cmd_submit\" value=\"OK\" />
</td><td>
<input class=\"boutond\" disabled type=\"submit\" name=\"cmd_undo\" value=\"Abandon\" />[/code:1]
On remarque que le type du bouton OK est disabled type=\"submit\"... C'est à cause de cela je présume mais il y a encore autre chose qui me parait bizarre je vous met le code source HTML pour le fichier de config avec le javascript:
[code:1] <td colspan=\"4\" width=\"100%\">
<textarea class=\"configarea\" id=\"cfg\" name=\"cfg\" wrap=off onFocus=\"javascript:okbtn();\" onKeyUp=\"javascript:«»showline(this,'lineinfo');\" onClick=\"javascript:«»showline(this,'lineinfo');\" >[/code:1]
On remarque qu'il y a un onFocus=javascript:okbtn()
Je vous met le code javascript qui correspond:
[code:1]
function iedummy() {
var obj = document.getElementById(\"cfg\"«»);
obj.onfocus=okbtn;
return;
}[/code:1]
Est-ce que quelqu'un pourrait m'aider svp?
Merci d'avance.<br><br>Message édité par: Joseph54520, à: 6/06/18 15:37
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.060 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Parsed HTML javascript disabled type ="submit"