首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我试图使用Selenium获取页面源代码,但得到的页面是空的

我试图使用Selenium获取页面源代码,但得到的页面是空的
EN

Stack Overflow用户
提问于 2019-06-11 10:06:27
回答 1查看 1.7K关注 0票数 3

我正在尝试使用Selenium获取页面源代码,代码是通用SOP。它适用于Baidu.com和example.com。但是当涉及到我实际需要的网址时,我得到了空的page.and,源代码只显示空标签,如下面的代码。我是不是漏掉了什么?

我试图添加更多的选项参数,但似乎没有什么帮助

WebDriver驱动程序;

代码语言:javascript
复制
    System.setProperty("webdriver.chrome.driver", "E:\\applications\\ChromeDriver\\chromedriver_win32 (2)//chromedriver.exe");

    // 实例化一个WebDriver的对象    作用:启动谷歌浏览器
    driver = new ChromeDriver();

    driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);

    driver.get("http://rd.huangpuqu.sh.cn/website/html/shprd/shprd_tpxw/List/list_0.htm");
    String pageSource = driver.getPageSource();
    String title = driver.getTitle();
    System.out.println("==========="+title+"==============");
    System.out.println(Jsoup.parse(pageSource)); 

我希望URL的解析页面来源,以便我可以获得我需要的信息。但我被困在这里了。

EN

回答 1

Stack Overflow用户

发布于 2019-06-17 15:18:20

首先,这肯定是一个兼容性问题。这主要是因为selenium-它已经经过了大量的开发,因此,关于版本兼容性的问题数不胜数。这就是我如何处理这个问题。

我选择了火狐浏览器来驱动,版本是67.0(64 bit).Cos,正如@Adi Ohana提到的,Chrome会响应一个空白的结果。我在3.X版本中使用Selenium。要使用Selenium 3.X,我在pom.xml中添加以下代码:

代码语言:javascript
复制
<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.141.59</version> <!-- this version context matters -->
        </dependency>

注意,这是你需要添加到你的pom.xml.otherwise中的<artifactId>selenium-server</artifactId>,你可能会得到一些意外的错误。

完成这些工作后,你需要一个名为geckodriver.Firefox的合适的driver.the驱动程序。我使用的是v0.24.0版本,它是一个比.jar更大的.exe文件,这样你就可以在编程中通过java代码来指定它,如下所示:

代码语言:javascript
复制
System.setProperty("webdriver.gecko.driver","E:\\applications\\GeckoDriver-v0.24.0-win64\\geckodriver.exe"); // 0.24.0 the 2nd param is the location of geckodriver.exe in your local computer

然后,发送对URL.and的请求,因为主体内容是由另一个AJAX请求加载的。您需要等待几秒钟,Selenium才能做到这一点。

代码语言:javascript
复制
Thread.sleep(5000); // this is the easyest way, may not the best though.

结论:我得到了我期望的原始源代码,但我并没有解决为什么googleDriver不能像预期的那样工作,我可能会把这个留给进一步的挖掘。

总结一下: Firefox 67.0 geckodriver v0.24.0由java-code Selenium 3.X add by xml-code指定

谢谢你们,这真的很有帮助。就像这个社区

附言:我是个新手,刚开始使用stackoverflow.still……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56535537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档