51Testing软件测试论坛

标题: selenium定位不到下拉框选项的问题 [打印本页]

作者: Sarahhao8    时间: 2019-8-8 16:07
标题: selenium定位不到下拉框选项的问题
如题。使用xpath定位不到。求大神指教。

driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]")


作者: applepen    时间: 2019-8-9 08:48
How old are you(怎么老是你)?
如果是无法点击的话就下一层试试。
driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
如果是定位不到的话,是不是由于上一步打开下拉列表
以后加时间等待试试。
作者: Sarahhao8    时间: 2019-8-9 09:39
applepen 发表于 2019-8-9 08:48
How old are you(怎么老是你)?
如果是无法点击的话就下一层试试。
driver.find_elements_by_xpath(".//b ...

说明我工作努力啊,而且还是菜鸟,老遇到问题.哈哈

你说的方法试过了,也不行.
作者: Sarahhao8    时间: 2019-8-9 09:44
早上来了一看,查看量快破百了,只有一个回复,感觉无解了呢....
我们现在的系统很多这种问题, 前端框架的决定的, 定位不到的只能靠手点了,半自动化,哈哈
作者: 小小猎魔人    时间: 2019-8-9 10:02
下拉框是不是默认隐藏的,导致定位不到
作者: Sarahhao8    时间: 2019-8-9 10:42
小小猎魔人 发表于 2019-8-9 10:02
下拉框是不是默认隐藏的,导致定位不到

是的是的.
ele8 = driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
for e8 in ele8:
    if e8.is_displayed():
        e8.click()
    pass
加了这段也是不行.
作者: Sarahhao8    时间: 2019-8-9 10:44
Sarahhao8 发表于 2019-8-9 10:42
是的是的.
ele8 = driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
for ...

直接pass了
作者: applepen    时间: 2019-8-9 10:45
Sarahhao8 发表于 2019-8-9 10:42
是的是的.
ele8 = driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
for ...

is_displayed() 即便隐藏也会当作true。
替换成is_enabled():试试。
作者: Sarahhao8    时间: 2019-8-9 10:51
applepen 发表于 2019-8-9 10:45
is_displayed() 即便隐藏也会当作true。
替换成is_enabled():试试。

也不行,pass了
作者: applepen    时间: 2019-8-9 16:36
Sarahhao8 发表于 2019-8-9 10:51
也不行,pass了

换个套路。
用Actions来把动作串起来试试
moveTo(webElement).click().perform();
作者: Sarahhao8    时间: 2019-8-9 16:59
applepen 发表于 2019-8-9 16:36
换个套路。
用Actions来把动作串起来试试
moveTo(webElement).click().perform();

也不行.AttributeError: move_to requires a WebElement
作者: applepen    时间: 2019-8-9 17:26
Sarahhao8 发表于 2019-8-9 16:59
也不行.AttributeError: move_to requires a WebElement

对啊。你需要给WebElement
WebElement ele = driver.find_elements_by_xpath(.....);
moveTo(ele).click().perform();
作者: Sarahhao8    时间: 2019-8-12 10:40
本帖最后由 Sarahhao8 于 2019-8-12 14:21 编辑
applepen 发表于 2019-8-9 17:26
对啊。你需要给WebElement
WebElement ele = driver.find_elements_by_xpath(.....);
moveTo(ele).clic ...
语法错误
作者: applepen    时间: 2019-9-2 15:26
Sarahhao8 发表于 2019-8-12 10:40
语法错误

target = driver.find_element_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
driver.execute_script("arguments[0].scrollIntoView();",target)

试试这个看看好用不?
作者: applepen    时间: 2019-9-2 15:26
target = driver.find_element_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
driver.execute_script("arguments[0].scrollIntoView();",target)

试试这个看看好用不?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2