diff --git a/webmagic-selenium/src/test/java/us/codecraft/webmagic/script/selenium/ScriptSeleniumWindowsChromeTest.java b/webmagic-selenium/src/test/java/us/codecraft/webmagic/script/selenium/ScriptSeleniumWindowsChromeTest.java new file mode 100644 index 00000000..158c8789 --- /dev/null +++ b/webmagic-selenium/src/test/java/us/codecraft/webmagic/script/selenium/ScriptSeleniumWindowsChromeTest.java @@ -0,0 +1,73 @@ +package us.codecraft.webmagic.script.selenium; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Arrays; + +import org.junit.Test; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; + +/** + * + * @author yang + * + */ +public class ScriptSeleniumWindowsChromeTest { + + //@Ignore("need chrome driver") + @Test + public void testExcuteScript() { + + System.getProperties().setProperty("webdriver.chrome.driver", "D:\\software\\chrome\\chromedriver.exe"); + ChromeOptions options = new ChromeOptions(); + options.addArguments("--headless"); + + options.setCapability("chrome.switches", Arrays.asList("--user-data-dir=D:\\software\\chrome\\temp\\chrome")); + + ChromeDriver webDriver = new ChromeDriver(options); + + webDriver.get("http://v.qq.com/x/search/?q=极限挑战"); + + String script=""; + try { + script = loadJs("js/manga.js"); + } catch(IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + //String func="(function(){ return document.getElementsByClassName('reading-content'); });"; + //return document.domain; + //Boolean + //Long + // String + // List + // WebElement. + //Object content=webDriver.executeScript("return document.getElementsByClassName('reading-content');"); + System.out.println("------the script should be excute-------------"+script); + Object content=webDriver.executeScript(script); + + System.out.println("------return content-------------"+content.toString()); + + + + webDriver.close(); + } + public String loadJs(String scriptName) throws IOException{ + + InputStream is = ScriptSeleniumWindowsChromeTest.class.getClassLoader().getResourceAsStream(scriptName); + + + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + StringBuilder build=new StringBuilder(); + for (String line = br.readLine(); line != null; line = br.readLine()) { + build.append(line); + } + return build.toString().trim(); + + } +} diff --git a/webmagic-selenium/src/test/resources/js/manga.js b/webmagic-selenium/src/test/resources/js/manga.js new file mode 100644 index 00000000..15afcf84 --- /dev/null +++ b/webmagic-selenium/src/test/resources/js/manga.js @@ -0,0 +1,16 @@ +var videoArray = new Array(); + +var omain=document.getElementsByClassName('result_title'); +for (var i = 0; i < omain.length; i++) { + var titletext = omain[i].innerText.trim(); + var playword = {"title":"","playUrl":"","time":""}; + playword.title=titletext; + videoArray.push(playword); + if(i>=10){ + break; + } +} + +return JSON.stringify(videoArray).toString(); + +