1

I need to read ask/bid price from crytpocurrency market. but "Stale Element Error" occurred when market is too crowd.

I use facebook/php-webdirver, Selenium Stand Alone Server 3.9.1.jar and chromeDriver and PHP 7.1 .

this is my first try to select data:

$driver->findElements(WebDriverBy::xpath("//tr[@class='price-level']//td[@class='bid-price']"));

and its the last one:

$driver->wait()->until(WebDriverExpectedCondition::presenceOfAllElementsLocatedBy(WebDriverBy::xpath("//tr[@class='price-level']//td[@class='bid-price']")));

First question is am I in a right way to get this rapidly changeable data (like stock market or cryptocurrencies market)? cryptocurrency BID-ASK tables screenshot - from Bitz Bitz Cryptocurrency live BID-ASK table

And the second one is why when i use below Code to avoid fatal Error, nothing happened and fatal Error occurred as always ?

try{
$asks = $driver->findElements(WebDriverBy::xpath("//tr[@class='price-level']//td[@class='ask-price']"));
}catch(StaleElementReferenceException $e)
{
echo 'Error Occurred';
}
4

1 回答 1

-1

最后在 PHP 上花了一个多星期后,我决定改变我的方式。我回顾了其他语言方法。Js 在每周下载量中排名第一。我首先尝试使用Selenium-WebDriver库,每周下载量超过 140 万。好的,但我不能使用这个。其实我不喜欢它是出于个人原因!另一个名为“WebDriverIO”的著名 JS Web 抓取库也不是我想要的!

我以前从未使用过 NodeJS 和 NPM,我找不到快速安装或快速运行它和专业的方法。

我第二次尝试 Python,结果非常好 :) 启动速度非常快,有很多可读的文档可以找到你的目标,还有很多人可以回答你的问题,另一方面 Python 语法与 Php 太相似了,你可以很容易地连接它 MySQL曾经在 PHP 中做过。

Python 3.7 with Selenium for python帮助我在 10 小时内完成了我的应用程序(包括从零开始学习 python)。

最后,我的应用程序像一个魅力一样工作,我真的很高兴 :) 现在我在服务器上拥有由 HTML/JS(jQueryAjax) + 数据库连接编码的界面,以提供我的字体 + Python 脚本来抓取和感受 DB。

Try-Catch 仍然无法在 facebook/php-webdriver Php 中工作,但现在谁在乎!

于 2019-07-19T07:56:28.000 回答