Selenium 用 selenium 缓慢输入城市的缩略字母或者城市的名字的部分,会显示出待选城市的下拉列表,进而从下拉列表中选择相应的城市.

徐喵喵 · 2018年09月18日 · 最后由 徐喵喵 回复于 2018年09月18日 · 2469 次阅读

缓慢输入城市的缩略字母或者城市的名字的部分,会显示出待选城市的下拉列表,进而从下拉列表中选择相应的城市.
下拉列表是 ul 和 li 组成
该如何实现

共收到 6 条回复 时间 点赞

你可以这样选择,先输入,在查找,最后点击
driver.findElement("xxx").sendKeys(content);

Common.waitElementClickable(driver, driver.findElement(By.xpath(".//*[contains(@id,'ajaxselect"+content+"')][text()='"+content+"']")), 15);

driver.findElement(By.xpath(".//*[contains(@id,'ajaxselect"+content+"')][text()='"+content+"']")).click();

我问问 回复

driver.findElement(By.xpath("//*[@id=\"preferenceInfo.targetPositions\"]/div/div/div")).sendKeys("金融");
输入不进去,因为是 div 不是个 input

徐喵喵 回复

不是 input,是个 div,你能不能把这个地方页面截个图啊,

你发一下 DOM 代码吧
不能直接输入,就用 JS 直接赋值给 value

徐喵喵 回复

如果不是 input,是 div,你可以使用 driver.findElements,返回一个 list 集合,然后遍历

解决了,里面还是有个 input,只是我没看到

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册