2016-10-13 2 views
-1

Я хочу нажать кнопку веб-сайта, которая уже выполняется. Например: как url: www.google.com .. Я хочу программно нажать кнопку Google Search, используя любой метод в PHP, Javascript, JQuery и Ajax. если кто-нибудь знает решение. Сообщите мне и укажите исходный код.Хотите нажать кнопку веб-сайта программно

Примечание: нам не нужно создавать собственную кнопку, мы хотим нажать кнопку веб-сайта, используя класс и идентификатор.

Я хочу попробовать this..look как это, но не success..I хочет нажать кнопку Learn HTML, которые являются показать на IFRAME ... в сайте W3School ..

<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

в php 'curl()' или 'file_get_contents()' или 'fopen' – nogad

ответ

0

Вы, кажется, должен отсутствовать элемент с идентификатором w3-btn, который получает программный щелчок.

Кроме того, кажется, оба они делают то же самое ...

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

и

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

}); 

и пытаются щелкнуть элемент с идентификатором w3-btn, просто по-разному. Вам нужен только один из них.

+0

Спасибо за предложение. Но мой идентификатор кнопки прав. Я думаю, вам нужно попробовать мой код. Я хочу нажать кнопку веб-сайта, которая уже идет на другом сервере. Включая веб-сайт на нашей странице, используя iframe и хотите нажать кнопку веб-сайта. Например: www.google.com, w3schools и т. Д. – sonu

0

Это может помочь:

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

Я получил этот ответ от here.

+0

Дорогой, я думаю, вы хотите просмотреть мой вопрос. Я хочу нажать кнопку веб-сайта, которая уже идет на другом сервере. Включая веб-сайт на нашей странице, используя iframe и хотите нажать кнопку веб-сайта. Нравится: www.google.com, w3schools и т. Д. – sonu

1

, нужно настроить идентификатор для фрейма

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

[0] для кнопки Learn HTML есть 19 элемент имеет класс w3-btn

испытано и работа на W3SchoolsTry it Yourself »

ВАЖНО: Убедитесь, что iframe находится в одном домене, иначе вы не сможете получить доступ к его внутренним элементам. Это будет межсайтовый скриптинг.


как запрошено, здесь пример PHP для получения элемента и воссозданный на ваших собственных сайтах.

<?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> | '; 
} 

Вы можете создать яваскрипт функцию, чтобы получить URL от iframe и чем request AJAX на PHP, которые имеют сценарий ВЫШЕ, вы можете использовать echo (но нужно Еогеасп как пример из моего скрипта) или json_encode в массив $links, затем воссоздана кнопку с другого URL-адреса/веб-сайта на ваши сайты.

или просто echo на свои сайты.

Мой сценарий все еще нуждаются в улучшении, чтобы обрабатывать значение attribut href'../', которые используют или 'foldername/'

просто напоминание, для получения элементов доступа на iframe, что указывает на другой домен невозможно.

+0

Прочтите мой вопрос Снова. Я хочу нажать кнопку w3schools. У меня нет доступа к домену. Я хочу просто включить сайт в iframe и хочу нажать кнопку веб-сайта. – sonu

+1

прочитал ответ, я думаю, что это абсолютно правильно, он получает iframe, затем обращается к кнопке внутри iframe (чего вы не делаете и почему ваш код НЕ работает). Правильно прочитайте ответ –

+0

Я не знаю, чего вы хотите, но доступ к другому сайту с использованием iframe или ajax невозможно без совместного использования ресурсов Cross-origin (CORS) , если вы хотите получить доступ к сайтам и получить элементы, вы можете использовать Функции CURL и DOM на PHP, ммм ... трудно объяснить на английском языке. – Maunklana