Загрузите общедоступный веб-сайт и выполните скрипт - PullRequest
0 голосов
/ 01 июля 2018

У меня есть свой собственный веб-сайт, и когда я нажимаю кнопку, я хочу загрузить веб-сайт, не принадлежащий мне (например, Google.com). Когда эта страница загружается, я хочу выполнить скрипт.

Например, нажмите кнопку на моем сайте, загрузите google.com и предварительно загрузите в строку поиска значение из файла скрипта, переданного с моего сайта.

Я могу сделать это, если я открою консоль разработчика при посещении google.com и наберу команду, однако я хочу автоматизировать это, поэтому вместо того, чтобы загружать его консоль самостоятельно, мой скрипт будет манипулировать значением элемента DOM этой новой страницы.

Я просто не знаю, как загрузить новый сайт и дать ему скрипт для запуска.

Возможно ли это? Кто-нибудь может указать мне правильное направление?

1 Ответ

0 голосов
/ 01 июля 2018

Возможно, на самом деле это основа того, что многие разработчики используют при автоматизированном тестировании браузера.

Взгляните на Selenium - приведенный ниже код для Java использует Selenium для выполнения именно того, о чем вы просили. Как вариант, что-то вроде Chrome Headless https://developers.google.com/web/updates/2017/04/headless-chrome или

PhantomJS http://phantomjs.org/quick-start.html выполнит эту работу.

package mypackage;

import org.openqa.selenium.By; 

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.support.ui.WebDriverWait;

public class myclass {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\selenium-java-2.35.0\\chromedriver_win32_2.2\\chromedriver.exe");

         WebDriver driver = new ChromeDriver(); 
         driver.get("http://www.google.com"); 
         WebElement element = driver.findElement(By.name("q"));
         element.sendKeys("Whatever");
         element.submit();

         driver.close();
    }



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