gpt4 book ai didi

java - 我正在尝试使用 Selenium 获取页面源代码,但我得到了空页面

转载 作者:行者123 更新时间:2023-11-30 05:36:18 26 4
gpt4 key购买 nike

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

我尝试添加更多选项参数,但似乎没有帮助

WebDriver 驱动程序;

    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 的解析页面源,以便我可以获得我需要的信息。但我被困在这里了。

最佳答案

使用 ChromeDriver 时,我可以重现该网站的问题。我发现有一个JS检测到您正在使用ChromeDriver并阻止对网页的请求,并显示400 HTTP错误代码:

enter image description here

现在,Firefox 可以使用以下代码按预期工作:

    FirefoxDriver driver = new FirefoxDriver();

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

driver.quit();

我只睡了 5 秒,效果很好。最佳实践是等待页面中的特定元素,请检查此以供引用 - How to wait until an element is present in Selenium?

firefox browser version: 67.0.1 geckodriver 0.24.0 selenium version: 3.141.59

关于java - 我正在尝试使用 Selenium 获取页面源代码,但我得到了空页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56535537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com