Java 验证<;部门>;使用硒
我需要验证网页上的特定插槽是否已加载。我正在Java 验证<;部门>;使用硒,java,selenium,webdriver,selenium-chromedriver,Java,Selenium,Webdriver,Selenium Chromedriver,我需要验证网页上的特定插槽是否已加载。我正在main()函数中使用SeleniumWebDriver(我应该使用JUnit测试用例吗?) 在任何具有特定id的之间检索文本的方法有哪些 如果给出: 通过在亚马逊上销售商品赚钱 在Amazon.com上出售您的商品。亚马逊可以帮助您发展业务,接触更多客户。 当给出时,我需要提取 “通过在亚马逊上销售商品赚钱”, “在亚马逊上销售”, “在Amazon.com上销售您的商品。Amazon可以帮助您发展业务并接触更多客户。” 我应该使用哪种方法?要确
main()
函数中使用SeleniumWebDriver(我应该使用JUnit测试用例吗?)
在任何具有特定id的
之间检索文本的方法有哪些
如果给出:
通过在亚马逊上销售商品赚钱
在Amazon.com上出售您的商品。亚马逊可以帮助您发展业务,接触更多客户。
当给出
时,我需要提取
“通过在亚马逊上销售商品赚钱”,“在亚马逊上销售”,
“在Amazon.com上销售您的商品。Amazon可以帮助您发展业务并接触更多客户。”
我应该使用哪种方法?要确保元素已加载,请使用 通常,当您需要与元素交互时,隐式等待就足够了。一旦设置好,它就用于每个元素的查找。根据我的经验,95%的情况下这已经足够了
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
如果您需要更高级的等待(或者只使用一次等待),显式等待就在那里
有三种常用的方法可以检索具有我所知道的特定
id
的元素:
driver.findElement(By.id("elemId"));
driver.findElement(By.cssSelector("#elemId"));
driver.findElement(By.xpath("id('elemId')"));
driver.findElement(By.xpath("//*[@id='elemId']"));
关于文本:
String text = driver.findElement(By.id("center-2")).getText();
System.out.println(text);
输出
在亚马逊上卖东西赚钱在亚马逊上卖东西
亚马逊网站上的商品。亚马逊可以帮助您发展业务,并达到
更多的顾客
如果您想独立获取这三项内容,请使用例如:
String headline = driver.findElement(By.cssSelector("#center-2 .headline")).getText();
System.out.println(headline);
String link = driver.findElement(By.cssSelector("#center-2 .link")).getText();
System.out.println(link);
String body = driver.findElement(By.cssSelector("#center-2 .body")).getText();
System.out.println(body);
@Slanec:你有没有用HTML美化工具来格式化上面的代码?我在粘贴代码片段时也遇到了一个问题,因为每一行都必须用
4个空格字符进行移位
,我们是否可以使用某种标记,比如[code][/code]
?IntelliJ IDEA有一个格式化代码的功能,所以我使用了它,然后手动删除了(希望是)不相关的部分。有关插入SO的代码,请参见。