Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
VolAndr
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 11
#1

Парсинг с Selenide на AS - Программирование Android

10.05.2016, 14:59. Просмотров 217. Ответов 2

Занимался ли кто-нибудь таким? Selenide мне нужна исключительно для парсинга и нажатия "кнопок" на сайте ,без автотестов. Сделал вот пример ,сетевая операция как и должна быть в отдельном потоке ,доступ в интернет есть. Но с ошибками разобраться не могу. Вроде по логу ,если я правильно понял, на адройде нету драйвера Файрфокса ,если это так ,то как установить другой?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.example.andrew.a123;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;
 
import com.codeborne.selenide.Selenide;
 
public class MainActivity extends ActionBarActivity {
 
    private TextView textView;
    String text;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        textView = (TextView) findViewById(R.id.textView);
        Test test = new Test();
        test.execute();
        textView.setText(text);
 
    }
 
    class Test extends AsyncTask<Void, Void, String> {
 
 
 
        @Override
        protected String doInBackground(Void... params) {
            Selenide.open("http://www.dns-shop.ru/");
            text = Selenide.$("#header-phone-number").text().toString();
            return text;
        }
 
        }
 
        }
и вот лог
Кликните здесь для просмотра всего текста
Process: com.example.andrew.a123, PID: 28187
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: ANDROID
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'localhost', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'armv7l', os.version: '3.4.67', java.version: '0'
selenide.url: http://www.dns-shop.ru/
Driver info: driver.version: FirefoxDriver
selenide.baseUrl: http://localhost:8080
at org.openqa.selenium.firefox.internal.Executable.<init>(Executable.java:75)
at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:60)
at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:56)
at org.openqa.selenium.firefox.FirefoxDriver.getBinary(FirefoxDriver.java:203)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:128)
at com.codeborne.selenide.webdriver.WebDriverFactory.createFirefoxDriver(WebDriverFactory.java:95)
at com.codeborne.selenide.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:40)
at com.codeborne.selenide.impl.WebDriverThreadLocalContainer.createDriver(WebDriverThreadLocalContainer.java:214)
at com.codeborne.selenide.impl.WebDriverThreadLocalContainer.getAndCheckWebDriver(WebDriverThreadLocalContainer.java:114)
at com.codeborne.selenide.WebDriverRunner.getAndCheckWebDriver(WebDriverRunner.java:118)
at com.codeborne.selenide.impl.Navigator.navigateToAbsoluteUrl(Navigator.java:44)
at com.codeborne.selenide.impl.Navigator.open(Navigator.java:23)
at com.codeborne.selenide.Selenide.open(Selenide.java:51)
at com.example.andrew.a123.MainActivity$Test.doInBackground(MainActivity.java:33)
at com.example.andrew.a123.MainActivity$Test.doInBackground(MainActivity.java:27)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 4 more
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2016, 14:59     Парсинг с Selenide на AS
Посмотрите здесь:
Intellij ide + selenide JAVA IDE

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.05.2016, 16:54     Парсинг с Selenide на AS #2
VolAndr, возьмите JSoup
VolAndr
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 11
11.05.2016, 13:33  [ТС]     Парсинг с Selenide на AS #3
YuraAAA, начинал с него ,но наткнулся вот на эту тему Программно нажать кнопку (Jsoup) ,может я поспешил с selenide. Можно ли в JSoup нажимать кнопки (javascript как понял)? Вот на сайте того же ДНСа нету полного списка товара ,там показывается определенное количество ,а потом надо нажать на кнопку "показать еще".
HTML5
1
2
3
4
<a class="btn btn-default" href="#">
                    Показать <span>еще</span>
                    <i class="glyphicon glyphicon-triangle-bottom"></i>
                </a>
Добавлено через 20 часов 25 минут
YuraAAA, извините ,так как быть?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru