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

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

缓慢输入城市的缩略字母或者城市的名字的部分,会显示出待选城市的下拉列表,进而从下拉列表中选择相应的城市.
下拉列表是 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,只是我没看到

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册