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

如何处理自动建议"从"和"目的地"框为这个网站"https://www.goibibo.com/"在硒

南宫勇军
2023-03-14

如何在硒中处理本网站“https://www.goibibo.com/”的“从”和“目的地”框中的自动建议。请帮助

我厌倦了使用基本方法,但无法获得自动建议下拉列表的X路径

无法单击下拉列表

package basic;
    
import java.util.List;
import java.util.concurrent.TimeUnit;
    
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
    
public class goibibo {

    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.goibibo.com/");

        new WebDriverWait(driver, 20)
                .until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='gosuggest_inputSrc']")))
                .sendKeys("Mum");
        List<WebElement> myList = new WebDriverWait(driver, 20).until(
                ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//*[@id=\"react-autosuggest-1\"]")));
        for (WebElement element : myList) {
            if (element.getText().contains("Mumbai"))
                ;
            element.click();
        }

    }

}

共有3个答案

竺和洽
2023-03-14

我已经通过selenium和python实现了自动化。它在列表中收集所有建议的城市,然后单击所需的城市。

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.goibibo.com/")
driver.implicitly_wait(3)
listCity = []
driver.find_element_by_xpath("//input[@id='gosuggest_inputSrc']").send_keys("JA")
cities = driver.find_elements_by_xpath("//div[@class='mainTxt clearfix']//preceding-sibling::span")
for city in cities:
    listCity.append(city.text)

for city in cities:
    if "Jagdalpur" in city.text:
        city.click()
        break

print(listCity)
print(len(listCity))
柯琛
2023-03-14

因此,您可以尝试一种解决方案,请查看下面的屏幕截图,

正如您在屏幕截图中看到的,如果我在输入框中键入M,则下拉列表会显示与字母“M”相关的记录,如果您在源代码中看到

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='gosuggest_inputSrc'"]))).sendKeys("M");
List<WebElement> myList = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("Xpath of the dynamic drop down")));
for (WebElement element:myList) {
    if(element.getText().contains("Mumbai"));
        element.click();
}

我给了你一个主意,如果你需要进一步的帮助,请告诉我

孟洋
2023-03-14

现在单击元素并创建自己的xpath。

不是如何从自动填充框中查找元素。请参阅下面的代码段。

package com.software.testing;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
    
public class Testingclass extends DriverFactory {
    
    private static WebDriver driver = null;
    
    public static void main(String[] args) throws InterruptedException {
    
        System.setProperty("webdriver.chrome.driver", "your driver path");
        driver = new ChromeDriver();
        driver.get("https://www.goibibo.com/");
        new WebDriverWait(driver, 20)
                .until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='gosuggest_inputSrc']")))
                .sendKeys("A");
        Thread.sleep(1000);
        List<WebElement> myList = new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfAllElementsLocatedBy(
                By.xpath("//div[@class='dib marginL10 pad0 textOverflow width90']/div/span")));
        for (int i = 0; i < myList.size(); i++) {
            System.out.println(myList.get(i).getText());
            if (myList.get(i).getText().equals("Ahmedabad")) {
                myList.get(i).click();
                break;
            }
        }
    
    }
}

不要忘记在条件语句之后使用break,否则它将引发异常。

 类似资料:
  • 问题内容: 从文本框中,我尝试了多种方法来找出解决方案,但是失败了,因此请对该查询提供帮助 网站:-https: //www.goibibo.com/ 在该网站内,当我尝试从“ FROM”自动建议文本框中选择值时,我无法选择,因为我无法检查下拉列表,因为它是动态的,并且使用了一些JavaScript功能。所以请帮我 问题答案: 如果您需要XPath作为第一个自动建议选项,请尝试 您可以替换与获得第

  • 我有两个php应用程序:一个托管在example.com上,一个托管在example.org上。这两个应用程序都是不可或缺的,这意味着当用户使用example.com的应用程序时,它也会使用example.org,因为应用程序的一部分位于example.com,另一部分位于example.org。但有个问题。当用户使用example.com并需要example.org的功能时,他会通过单击exam

  • 主要内容:1. 为什么要创建一个自己的网站,2. 定位,3. 创建网站的步骤,4.6 域名解析如果你有创建一个自己的网站这个冲动,要搭建一个属于自己的网络空间平台,但是苦于不知道从何下手,或者因为不知道水有多深,又或者觉得那是做IT,搞程序的人的专利,望而却步,本文绝对适合你。在开始之前我想说的是:搭建一个自己的网站没有你想的那么复杂,只要想搞(做),不懂问我。 本文不适合以下读者: 不喜欢甚至讨厌互联网 没有恒心,三分钟热度 差钱,对学习不肯投入 差时间,不愿意为自己所做的事情投入时间

  • 本文向大家介绍Nginx+SSL搭建 HTTPS 网站,包括了Nginx+SSL搭建 HTTPS 网站的使用技巧和注意事项,需要的朋友参考一下 一、HTTPS 是什么? 根据维基百科的解释: 如果一个网站没有加密,那么你的所有帐号密码都是明文传输。可想而知,如果涉及到隐私和金融问题,不加密的传输是多么可怕的一件事。 鉴于本博客的读者都是接近专业人士,我们不再多费口舌,直接进入正题吧。 二、使用 O

  • 反正可以禁用SQL,我只是想测试我的读写器和处理器工作正常。

  • 这个网站不允许 F12 检视,如何处理? https://www.buguakewang.com/ b