Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在selenium 3中处理自动建议web元素_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 如何在selenium 3中处理自动建议web元素

Java 如何在selenium 3中处理自动建议web元素,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我是自动化测试新手,在booking.com网站上尝试使用selenium 3时遇到困难 有自动建议文本框,当您键入word时,显示自动建议,您可以从列表中单击,即新加坡市中心 尝试使用xpathid(“basiclayout”)/div[@class=“leftwide rilt left”]/div[@class=“sb-searchbox\uuu outer”]/form[@id=“frm”]/div[@class=“sb-searchbox\uu row u-clearfix”]/di

我是自动化测试新手,在booking.com网站上尝试使用selenium 3时遇到困难

有自动建议文本框,当您键入word时,显示自动建议,您可以从列表中单击,即新加坡市中心

尝试使用xpath
id(“basiclayout”)/div[@class=“leftwide rilt left”]/div[@class=“sb-searchbox\uuu outer”]/form[@id=“frm”]/div[@class=“sb-searchbox\uu row u-clearfix”]/div[1]/div[@class=“c-autocomplete”
sb目的地“]/ul[@class=“c-autocomplete\uuu list sb-autocomplete\uu list-可见”]/li[@class=“c-autocomplete\uu item sb-autocomplete\uu item sb-autocomplete\uu item-城市sb-autocomplete\uu item\uu item-省略号”]

或css
c-自动完成项目sb-自动完成项目sb-自动完成项目--city sb-自动完成项目--elipsis

当我在SeleniumJava上运行测试用例时,所有场景都失败了

如何处理这样的web元素

完整代码:

public class Selenium3Testing {
private WebDriver driver;

@Before
public void setUp() {
    String baseUrl = "https://www.booking.com/";
    System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver.exe");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    driver = new ChromeDriver(capabilities);
    driver.get(baseUrl);
}

@After
public void tearDown() {
    driver.quit();
}

@Test
public void openBookingDotCom() {
    driver.findElement(By.id("ss")).click();
    driver.findElement(By.id("ss")).clear();
    driver.findElement(By.id("ss")).sendKeys("Singapore");
    //click on auto suggestion row number 2
    driver.findElement(By.css("c-autocomplete__item sb-autocomplete__item sb-autocomplete__item--city sb-autocomplete__item__item--elipsis")).click();
    } 
}

我只是在手机上打字,所以没有代码,我们可以这样做

对于输入框的输入,我希望若我们在sendkeys中传递total word,那个么建议可能不会加载或延迟。所以我遵循的最好的方法是传递每个字符..可能是睡眠,比如说每个字符300毫秒。写一个小方法,它将循环word中的所有字符


若要单击建议列表,请尝试xpath包含文本。或者任何一个都可以正常工作。

请阅读,特别是关于(MCVE)的部分,这将帮助您调试自己的程序并自行解决问题。如果您这样做了,但仍然卡住了,您可以回来发布您的MCVE,您尝试了什么,以及执行结果,包括任何错误消息,以便我们可以更好地帮助您。还提供指向页面和/或相关HTML的链接。您能否共享URL以及您尝试自动执行的确切手动步骤?更新了我的问题,并提供了完整的代码。感谢您在添加Thread.sleep after sendkeys命令时使用它