It is indirectly referenced from required .class files解决方法
背景:
学习webmagic过程中,为了解决爬取动态网页的问题,所以使用selenium,在浏览各个博主的文章,相继添加了多个有关selenium的依赖。
报错详情:
在代码首行报错
The type org.openqa.selenium.interactions.HasTouchScreen cannot be resolved. It is indirectly referenced from required .class files
代码:
package per.nydia.spider;import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;public class ChromeSelenium {public static void main(String[] args) {System.setProperty("webdriver.chrome.driver", "C:Windows\\System32\\chromedriver.exe");WebDriver driver = new ChromeDriver();driver.get("http://www.baidu.com");System.out.println(driver.getTitle());driver.quit();}}
解决过程:
网上找了很多解决方法,但是都没用,可能不符合我的情况,比如修改jre,手动设置jre等等。
最终解决方法是,把添加的有关selesnim的selenium-java,selenium-chrome-driver,selenium-server依赖包注释了,只留下webmagic-selenium的依赖包,就没有再报错。
正确的依赖:
使用webmagic-selenium需要添加的依赖
<dependency><groupId>us.codecraftgroupId><artifactId>webmagic-coreartifactId><version>0.7.3version>dependency><dependency><groupId>us.codecraftgroupId><artifactId>webmagic-extensionartifactId><version>0.7.3version><exclusions><exclusion><groupId>org.slf4jgroupId><artifactId>slf4j-log4j12artifactId>exclusion>exclusions>dependency><dependency><groupId>us.codecraftgroupId><artifactId>webmagic-seleniumartifactId><version>0.7.3version>dependency>
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
