2016-10-13 4 views
-1

Ich möchte auf eine Website-Schaltfläche klicken, die bereits läuft. Zum Beispiel: wie URL: www.google.com .. Ich möchte auf die Google Search-Schaltfläche programmgesteuert mit einer beliebigen Methode in PHP, Javascript, Jquery und Ajax klicken. wenn jemand Lösung weiß. Bitte sag es mir und gib den Quellcode an.Klicken Sie auf eine Website-Schaltfläche Programmatisch

Hinweis: Wir müssen keine eigene Schaltfläche erstellen, sondern mit Klassen und ID auf eine Website-Schaltfläche klicken.

Ich möchte so versuchen this..look aber nicht success..I wollen HTML-Schaltfläche klicken, um zu Lernen, die zeigen, sind auf iframe ... in w3school Website ..

<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
<iframe src="http://www.w3schools.com" width="800" height="400"></iframe> 

<script> 
//setInterval(function() {$("#hand_1151079882").click();}, 3000); 

function clime(){ 
setInterval(function() {document.getElementById("#w3-btn").click();}, 3000); 
alert(); 
} 
//using javascript 
$(document).ready(function() { 
$(".cli").on('click', function(event){ 
    $("#w3-btn").trigger('click'); 
}); 

}); 

</script> 
<input type="button" class="cli" name="clime" value="submit" onclick="clime()"> 
+0

in php 'curl()' oder 'file_get_contents()' oder 'fopen' – nogad

Antwort

0

Sie scheinen zu fehlt das Element mit der ID w3-btn, die programmgesteuert geklickt wird.

Auch scheint es, diese beiden sind das gleiche tun ...

function clime(){ 
setInterval(function() {document.getElementById("#w3-btn").click();}, 3000); 
alert(); 
} 

und

$(document).ready(function() { 
$(".cli").on('click', function(event){ 
    $("#w3-btn").trigger('click'); 
}); 

}); 

beide versuchen, ein Element mit id w3-btn, nur auf unterschiedliche Weise zu klicken. Du brauchst nur einen von ihnen.

+0

Danke für Suggestion. Aber meine Schaltfläche ID ist richtig. Ich denke du musst meinen Code ausprobieren. Ich möchte auf einen Website-Button klicken, der bereits auf einem anderen Server läuft. Einschließlich der Website auf unserer Seite mit iframe und klicken Sie auf die Schaltfläche Website. Wie: www.google.com, w3schools und etc ... – sonu

0

helfen Dies könnte:

<script> 
jQuery(function(){ 
    jQuery('#modal').click(); 
}); 
</script> 

ich von here diese Antwort bekam.

+0

Sehr geehrte Damen und Herren, ich denke, dass Sie die meine Frage überprüfen möchten. Ich möchte auf einen Website-Button klicken, der bereits auf einem anderen Server läuft. Einschließlich der Website auf unserer Seite mit iframe und klicken Sie auf die Schaltfläche Website. Wie: www.google.com, w3schools und etc ... – sonu

1

benötigen Sie Set-ID für iframe

var iframe = document.getElementById('w3schools-home'); 
var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 
innerDoc.getElementsByClassName('w3-btn')[0].click(); 

[0] für Button ist HTML zu Lernen gibt 19 Element haben Klasse w3-btn

Getestet und Arbeiten an w3schoolsTry it Yourself »

WICHTIG: Stellen Sie sicher, dass sich der Iframe in derselben Domäne befindet, andernfalls können Sie nicht auf seine Interna zugreifen. Das wäre Cross-Site-Scripting.


wie angefordert, hier Beispiel PHP für Get Element und Recreated zu Ihren eigenen Websites.

<?php 
$url='http://www.w3schools.com/css/default.asp'; // or use $_GET['url'] 
$scheme=parse_url($url)['scheme']; 
$host=parse_url($url)['host']; 
$domain=$scheme.'://'.$host; 
$ch=curl_init(); 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_HEADER, 0); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch,CURLOPT_TIMEOUT,30); 
curl_setopt($ch,CURLOPT_POST, 0); 
$dom = new DOMDocument(); 
libxml_use_internal_errors(true); 
$dom->loadHTML(substr(curl_exec($ch), curl_getinfo($ch, CURLINFO_HEADER_SIZE))); 

$xpath = new DOMXpath($dom); 
$aElement = $xpath->query('//a'); 

$length = $aElement->length; 
$links=array(); 
for ($i = 0; $i < $length; $i++) { 
    $element = $aElement->item($i); 
    if ($element->tagName=='a' && trim($element->textContent)<>'') { 
     foreach ($element->attributes as $attr) { 
      $attrName = $attr->nodeName; 
      $attrVal = $attr->nodeValue; 
      if($attrName=='href' && str_replace(';','',$attrVal)<>'javascript:void(0)'){ 
       if(substr($attrVal, 0, 1)=='/'){ 
        $links[trim($element->textContent)]=$domain.$attrVal; 
       }else if(substr($attrVal, 0, 4)=='http'){ 
        $links[trim($element->textContent)]=$attrVal; 
       } 
      } 
     } 
    } 
} 

foreach ($links as $key=>$value) { 
    echo '<a href="'.$value.'">'.$key.'</a> | '; 
} 

Sie können eine Javascript-Funktion erstellen URL von iframe zu erhalten und als request AJAX zu PHP, die obigen Skript haben, können Sie echo (muss aber foreach als Beispiel aus meinem Skript) oder json_encode zu Array $links, dann neu erstellt Button von anderer URL/Webseite zu Ihren Seiten.

oder nur echo auf Ihre Websites.

Mein Skript muß noch Verbesserungswert Ausprägungs zu handhaben href die '../' oder 'foldername/'

nur Erinnerung zu verwenden, für den Zugriff auf ELEMENT iframe zu erhalten, dass auf andere Domäne zeigt unmöglich ist.

+0

Lesen Sie die meine Frage noch einmal. Ich möchte auf w3schools klicken. Ich habe keinen Domainzugriff. Ich möchte die Website einfach in iframe einbinden und auf die Schaltfläche Website klicken. – sonu

+1

lesen Sie die Antwort, ich denke, es ist völlig richtig, er bekommt den iframe, dann greift auf die Schaltfläche innerhalb der iframe (was ist, was Sie nicht tun und warum Ihr Code nicht funktioniert). Lesen Sie die Antwort richtig –

+0

Ich weiß nicht, was Sie wollen, aber den Zugriff auf andere Website mit Iframe oder Ajax ist unmöglich ohne Cross-Origin-Ressourcenfreigabe (CORS) Wenn Sie auf die Websites zugreifen und die Elemente erhalten möchten, können Sie verwenden CURL und DOM funktionieren auf PHP, mmm ... das ist schwer in Englisch zu erklären. – Maunklana

Verwandte Themen