Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 想按程序点击网站按钮吗_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 想按程序点击网站按钮吗

Javascript 想按程序点击网站按钮吗,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想点击一个已经开始的网站按钮。 例如: 比如网址:www.google.com。。 我想使用PHP、Javascript、Jquery和Ajax中的任何方法以编程方式单击Google搜索按钮。 如果有人知道答案。请告诉我,并提供源代码 注意:我们不需要创建自己的按钮,我们希望使用类和id单击网站按钮。 我想试试这个..看起来像这样但没有成功..我想点击iframe上显示的学习HTML按钮..在w3school网站 <script src="https://code.jquery.com/

我想点击一个已经开始的网站按钮。 例如: 比如网址:www.google.com。。 我想使用PHP、Javascript、Jquery和Ajax中的任何方法以编程方式单击Google搜索按钮。 如果有人知道答案。请告诉我,并提供源代码

注意:我们不需要创建自己的按钮,我们希望使用类和id单击网站按钮。

我想试试这个..看起来像这样但没有成功..我想点击iframe上显示的学习HTML按钮..在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()">

//setInterval(函数(){$(“#hand_1151079882”)。单击();},3000);
函数clime(){
setInterval(函数(){document.getElementById(“#w3 btn”)。单击();},3000);
警惕();
}
//使用javascript
$(文档).ready(函数(){
$(“.cli”)。在('click',函数(事件){
$(“#w3 btn”).trigger('click');
});
});

您似乎缺少id为w3 btn的元素,该元素通过编程方式单击

而且,看起来这两个都在做同样的事情

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

两者都试图以不同的方式单击id为w3 btn的元素。您只需要其中一个。

这可能会有帮助:

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

jQuery(函数(){
jQuery(“#modal”)。单击();
});

我从中得到了这个答案。

您需要为iframe设置id

var iframe = document.getElementById('w3schools-home');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
innerDoc.getElementsByClassName('w3-btn')[0].click();
[0]
用于按钮学习HTML,有19个元素具有类
w3 btn

测试并在w3schools上工作

重要信息:确保iframe位于同一个域上,否则无法访问其内部。这将是跨站点脚本


根据要求,这里是get元素的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> | ';
}
loadHTML(substr(curl\u exec($ch),curl\u getinfo($ch,CURLINFO\u HEADER\u SIZE));
$xpath=newdomxpath($dom);
$aElement=$xpath->query('//a');
$length=$AEElement->length;
$links=array();
对于($i=0;$i<$length;$i++){
$element=$aeelement->item($i);
如果($element->tagName='a'&&trim($element->textContent)')){
foreach($element->attributes as$attr){
$attrName=$attr->nodeName;
$attrVal=$attr->nodeValue;
如果($attrName=='href'&&str_replace(';','$attrVal)'javascript:void(0)'{
如果(substr($attrVal,0,1)='/')){
$links[trim($element->textContent)]=$domain.$attrVal;
}else if(substr($attrVal,0,4)='http'){
$links[trim($element->textContent)]=$attrVal;
}
}
}
}
}
foreach($key=>$value的链接){
回音“|”;
}
您可以创建一个javascript函数,从
iframe
获取
URL
,然后
向上面有脚本的PHP请求AJAX
,您可以使用
echo
(但我的脚本中需要foreach作为示例)或
json\u encode
到数组
$links
,然后从其他url/网站到您的网站重新创建按钮

或者只是
向您的站点回显

我的脚本仍然需要改进以处理使用
'../'
'foldername/'


提醒一下,对于
iframe
上的get access元素,指向不同的域是不可能的。

在php中
curl()
file\u get\u contents()
fopen
亲爱的,我想你想回顾一下我的问题。我想点击已经在另一台服务器上运行的网站按钮。包括在我们的网页使用iframe网站,并希望点击网站按钮。比如:www.google.com,w3schools等等…谢谢你的建议。但我的按钮id是对的。我想你需要试试我的代码。我想点击已经在另一台服务器上运行的网站按钮。包括在我们的网页使用iframe网站,并希望点击网站按钮。比如:www.google.com,w3schools等等……再看一遍我的问题。我想点击w3schools按钮。我没有任何域访问权限。我只想在iframe中包含网站,然后点击网站按钮。阅读答案,我认为完全正确,他得到iframe,然后访问iframe中的按钮(这就是你没有做的事情,也是你的代码不起作用的原因)。正确阅读答案我不知道你想要什么,但是如果没有跨源资源共享(CORS),使用iframe或ajax访问其他网站是不可能的。如果你想访问网站并获取元素,可以在PHP上使用CURL和DOM函数,嗯。。。很难用英语解释。你。。。我想访问其他站点。我想点击其他网站按钮,包括在我们的iframe页面。这是可能的。我的所有代码和你的代码都不起作用。如果您认为您的代码是有效的,那么请使用我的上述代码为我提供完整的示例,并单击iframe网站按钮。如果可能的话,请给我提供完整的源代码。您可以使用iframe中的任何网站。然后点击带有我们代码的任何按钮。请尽快帮助…您需要的是脚本,自动点击其他网站。我可以只为你/你的内部公司知道这个脚本吗?如果正确,您可以使用tampermonkey将脚本(javascript)注入到您从浏览器访问的网站。如果使用PHP,以编程方式登录/注册到其他站点有点困难。您可以从上面我的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> | ';
}