当前位置: 首页 > 知识库问答 >
问题:

我试图测试selenium开发的“yatra.com”的新功能,但没有获得如何点击book ticket的代码?

戚侯林
2023-03-14

导入组织。openqa。硒。通过导入组织。openqa。硒。火狐。火狐司机;

公共类yatra{public static void main(String[]args){

FirefoxDriver driver= new FirefoxDriver();
driver.get("http://www.yatra.com");
driver.findElement(By.className("iconBeta")).click();
driver.findElement(By.xpath(".//input[contains(@id,'nlp_query')]")).sendKeys("go air evening flight from Mumbai to Chennai coming Sunday");
driver.findElement(By.xpath(".//input[contains(@id,'nlp_submit')]")).click();
driver.findElement(By.className("new-blue-button fr book-button js-bookNow")).click();  

}}

共有2个答案

章昱
2023-03-14

下面是我的工作,请检查

driver.get("http://www.yatra.com");
driver.findElement(By.className("iconBeta")).click();
driver.findElement(By.xpath(".//input[contains(@id,'nlp_query')]")).sendKeys("go air evening flight from Mumbai to Chennai coming Sunday");
        driver.findElement(By.xpath(".//input[contains(@id,'nlp_submit')]")).click();
    try
    {
        Thread.sleep(5000);
    }
    catch (InterruptedException e)
    {
        e.printStackTrace();
    }

    WebElement we = driver.findElement(By.xpath("(//div[@class='js-flightRow js-flightItem ng-scope']//div[@class='my-res-info full']//span[contains(text(),'Book Now')])[last()]"));

    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0].click()", we);
羊舌子瑜
2023-03-14

您用于Book Now的类名new-Blue-扣fr book-扣js-bookNow只有在您单击或悬停在该按钮上后才可用。因此Selenium无法识别定位器。

而是编写一些相关的xpath,如下所示。应该行得通。这一个用于第一个按钮,第二个用于第三个按钮等,更改第一个div的索引号(div[7]div[8]用be表示第二个,div[9]用be表示第三个按钮等)

//div[7]/article/div[1]/ul/li[5]/div/p[2]
 类似资料:
  • 1.概述 Selenium是非常非常有用的,对JavaScript支持良好的Web层功能测试,集成测试工具。 Selenium分为Core与RC(Remote Controll)两个部分,其中Core是基础的,直接在HTML Table里编写测试代码的模块,而Remote Controll则支持用Java等语言编写测试用例,并自动调用FireFox1.5来运行。 具体的语法见http://www.

  • 我正在尝试使用Selenium获取页面源代码,代码是通用SOP。这对百度来说是可行的。com和示例。通用域名格式。但说到我真正需要的URL,我得到了一个空页面。源代码只显示空标记,如下代码所示。我遗漏了什么吗? 我试图增加更多的选项,但似乎没有帮助 网络驱动程序; 我期望URL的解析页面源,这样我就可以得到我需要的信息。但我被困在这里了。

  • 问题内容: 我使用Selenium RC进行测试。现在要执行负载测试,我想运行并行测试用例。有什么方法可以在不打开浏览器的情况下运行它们? 问题答案: 要在Centos上进行设置(以root身份进行所有安装) 安装pip下载https://bootstrap.pypa.io/get-pip.py 安装selenium如果您的系统上有pip,则只需安装或升级Python绑定即可:pip instal

  • 问题内容: 是否有显示大图像并允许用户放大和缩小和平移图像的通用方法? 到目前为止,我发现了两种方法: 覆盖ImageView,对于这样一个常见问题似乎有点过多。 使用网络视图,但对整体布局的控制较少等。 问题答案: 更新 我刚刚给TouchImageView进行了新的更新。现在,除了“平移”和“缩放”缩放外,还包括“双击缩放”和“缩放”。下面的代码是非常过时。您可以签出github项目以获取最新

  • 我有一个问题: 下面是在Firefox中点击网站链接的代码。它工作。点击。但是PhantomJS中的相同代码会进入页面,但不会点击。请帮忙解决问题。先谢了

  • 这是密码。 我还没有真正为机器人实现任何命令,但我只是好奇为什么它不能工作以及如何修复它。