1

我正在尝试单击 href 属性这是我的示例 html

<ul>
  <li>
     <a href='http://www.google.com'>Google</a>
  </li>
</ul>

这是我的php代码

<?php 
  require_once('classes/simple_html_dom.php');
  $html = file_get_html("/var/www/html/dk/PHP_SCRAPPING/google.html");
  echo $html->find("ul li a",0)->href;
?>

输出是

http://www.google.com

我只想点击这个网址。怎么做?请不要告诉我这样做

file_get_html($html->find("ul li a",0)->href);

我正在寻找可以通过使用简单的 html dom 来单击任何 href 的方法。

4

6 回答 6

2

你不能在 PHP 中这样做,因为所有 PHP 代码都是在服务器端而不是客户端执行的。PHP 代码根本不在浏览器中运行,因此本质上没有可点击的链接。

如果您想在客户端编写脚本,则需要使用 javascript。尽管出于安全原因,任何理智的浏览器都不会让您在 Javascript 中模拟点击。

我认为你需要阅读你到底在做什么。

于 2013-11-12T13:13:19.880 回答
1

用 Python 和 Chrome/Firefox/PhantomJS Webdriver 看看 Selenium,它可以让您完全控制点击任何网页中的任何按钮或链接。使用 BeautifulSoup 解析它,并可以从 Python 创建您的 json

于 2013-12-23T15:31:58.017 回答
0

如果我没有误会您的意思,您可以使用 2 个选项

  1. php --header("Location:http://www.google.com");

  2. Javascript——window.location("http://www.google.com");

于 2013-11-12T13:23:22.510 回答
0

尝试

echo $html->find("ul li a",0);

如果这不起作用,您可以执行以下操作:

echo "<a href='".$html->find("ul li a",0)->href."'>";
echo $html->find("ul li a",0)->plaintext."</a>";
于 2013-11-12T13:27:32.010 回答
0

在这个API 中,他们有一个 click 方法

于 2017-03-22T14:11:56.473 回答
-1

我会使用 jQuery,我很确定你可以做这样的事情。

<head>
<script>      $("#clickable").click();         </script> 
</head>

<body> <?php  echo "<span id='clickable'>" . $html->find("ul li a",0)->href ."</span>";  ?>   </body>

显然,您需要在 jquery 库链接中添加并(文档)准备好...我还没有测试它,但我看不出 jQuery 不会点击服务器端生成的链接的任何原因

于 2015-08-14T02:12:15.453 回答