используйте python для записи содержимого в текстовый файл и используйте java для очистки содержимого того же текстового файла - PullRequest
0 голосов
/ 08 марта 2020

Я написал сценарий python для перехода на веб-сайт, очистки текста с веб-сайта и сохранения этого текста в текстовом файле на моем компьютере

from selenium import webdriver
import os

chrome_path = r"C:\tf_alert\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
driver.get("https://www.minuteinbox.com/")

email = driver.find_element_by_xpath("""/html/body/div[2]/div[3]/div[1]/div[3]/div/span""").text
strEmail = str(email)
mailMan = open("10MAIL.txt", "a")
mailMan.write(strEmail)
mailMan.close()

os.system("taskkill /im py.exe")

при запуске сценария с его места находится на моем компьютере, все работает нормально, и текст правильно записывается в текстовый файл на моем компьютере

, но когда я пытаюсь интегрировать скрипт python в программу java (код ниже), текст очищается с веб-сайта не записывается текстовый файл

public void SimpleTest() throws InterruptedException, IOException {

    Desktop desktop01 = Desktop.getDesktop();
    File file01 = new File("C:\\tf_alert\\other python projects\\mailMan.py");
    if (file01.exists()) {
        desktop01.open(file01);
    }
    Thread.sleep(20000);

    StringBuilder contentBuilder01 = new StringBuilder();
    try (Stream<String> stream = Files.lines(Paths.get("C:\\tf_alert\\other python projects\\10MAIL.txt"), StandardCharsets.UTF_8)) {
        stream.forEach(s -> contentBuilder01.append(s).append(""));
    } catch (IOException e) {
        e.printStackTrace();
    }

    System.out.println(contentBuilder01);

    PrintWriter pw = new PrintWriter("C:\\tf_alert\\other python projects\\10MAIL.txt");
    pw.close();
}

цель программы java, описанной выше, состоит в том, чтобы активировать сценарий python для очистки текста с веб-сайта, а затем получить текст, написанный с сценарий python из файла на моем компьютере, распечатайте текст в консоль, а затем очистите текстовый файл, чтобы все было готово к следующему выполнению

проблема возникает во время ввода текста mailMan.write(strEmail) в python коде, потому что когда java печатает текст из текстового файла, он печатает пробел ""

Я полагаю, что есть помехи между java и python

кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 08 марта 2020

, чтобы решить эту проблему, я создал пакетный файл windows, который меняет каталог на каталог с файлом python и запускает этот файл

cd C:\your-directory

start yourscript.py
0 голосов
/ 08 марта 2020

Вы не выполняете сценарий python.

Запуск файла .py из Java должен помочь вам. Другой источник: Три способа запуска Python программ из Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...