javascript - Selenium 降噪

标签 javascript java selenium

我从一个网站提取了一些详细信息,它显示在selenium的控制台中。它包含一些我不需要的额外内容。删除这些东西可以手动完成还是我错过了一些概念???

这是部分代码: 公共(public)类 Selenium {

public static void main(String[] args) throws InterruptedException {
    // TODO Auto-generated method stub
    int i=1;
    System.setProperty("webdriver.gecko.driver", "F:\\Downloads\\Downloads\\geckodriver-v0.21.0-win64\\geckodriver.exe");
    WebDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("https://www.amazon.in/");
    WebElement text=driver.findElement(By.id("twotabsearchtextbox"));
    text.sendKeys("Samsung Phones");
    text.submit();
    Thread.sleep(5000);
    while(i==1)
    {
    //List<WebElement> links=driver.findElements(By.cssSelector(".a-size-base.s-inline.s-access-title.a-text-normal")); 
List<WebElement>links=driver.findElements(By.partialLinkText("Samsung"));
    System.out.println(links.size());
    for(WebElement link : links)       
    {
        //if(link.getText().contains("Samsung"))
         System.out.println(link.getText());  

image-data extracted

问题:

  1. 在搜索三星手机时,我还获得了三星手机壳的数据。
  2. 对于提取的每页数据,还会打印用于搜索“三星手机”的文本。

最佳答案

问题1:这是无法避免的。但你可以尝试使用以下xpath

//ul/li[contains(@class,'s-result-item')]//a/h2[not(contains(.,'cover'))]

问题2:仅通过xpath解决上面给出的结果项。更改代码中的以下行。

List<WebElement>links=driver.findElements(By.partialLinkText("Samsung"));

List<WebElement>links=driver.findElements(By.xpath("//ul/li[contains(@class,'s-result-item')]//a/h2[not(contains(.,'cover'))]
"));

关于javascript - Selenium 降噪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50967476/

相关文章:

javascript - img src 或其他选择器的 AngularJS 正则表达式 json 数据

java - 为什么 JDBC 给出错误 "undefined function SOUNDEX in expression"

java - 氧点。通过注解绘制类之间的链接

java - 在我的 Junit 测试用例中,第一个测试失败后的所有测试

javascript - Skrollr 淡出文本

javascript - Jquery 对特定包装器使用名称选择器

javascript - 无法提交 data-live-search 为 true 的表单(Bootstrap-select)

java - 在 Spring 中动态更改 Bean 引用

python - 无法捕获异常

java - Selenium - 单击按钮已注册但未将页面重定向到目标链接