python+selenium:输入框对应有2个input便签,定位失败的解决方法

页面布局,如下图
python+selenium:输入框对应有2个input便签,定位失败的解决方法_第1张图片
python+selenium:输入框对应有2个input便签,定位失败的解决方法_第2张图片
只定位第一个标签,输入值时报错,如下
driver = webdriver.Chrome()
driver.get(‘http://xxx.com/’)
password = driver.find_element_by_id(“txt”)
password.clear()
password.send_keys(‘22222’)
报错如下:
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element
(Session info: chrome=70.0.3538.110)
(Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.16299 x86_64)

只定位第二个标签,输入值时报错,如下
driver = webdriver.Chrome()
driver.get(‘http://xxx.com/’)
password = driver.find_element_by_id(“pwd”)
password.clear()
password.send_keys(‘22222’)
报错如下:
selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable
(Session info: chrome=70.0.3538.110)
(Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.16299 x86_64)

解决方法:
先操作点击有value值(默认提示信息)的元素
再定位另一个元素,以及输入信息
driver = webdriver.Chrome()
driver.get(‘http://xxx.com/’)
driver.find_element_by_id(‘txt’).click()
password = driver.find_element_by_id(“pwd”)
password.clear()
password.send_keys(‘22222’)

你可能感兴趣的:(软件测试)