你的 xpath 都这么写吗,不是 xpath 的问题,xpath 什么都会定位到的,你的 xpath,写得太惨不忍睹了
楼主也没有说要定位什么啊。是什么定位不到。怀疑是 chrome 右键 ‘Copy Xpath’ 得到的,这样太难看了。
@ 强势振兴 可以自己删减一些节点
你的报错不是找不到,是不能 focus 这个元素
你这是下拉选择框吧
你这么一堆定位堆起来好乱啊,可以把数据和操作分离起来搞
js = 'document.getElementsByClassName("ico")[0].click();'
driver.execute_script(js)
类似这样子
driver.find_element_by_id("signIn").click() 点击一般都用 click 不用 sendkey
试试用 js
def test_executeScript(self):
url = 'http://www.baidu.com'
self.driver.get(url)
searfchInputBoxjs = 'document.getElementByid("kw").value=“测试数据”'
searfchButtonjs = 'document.getElementByid("su").click()'
try:
self.driver.execute_script(searfchInputBoxjs)
time.sleep(2)
self.driver.execute_script(searfchButtonjs)
time.sleep(2)
self.assertEqual('百度百科' in self.driver.page_source)
except WebDriverException as e:
print('没有找到元素')
except AssertionError as e:
print('页面不存在断言的关键字')
except Exception as e:
print(traceback.print_exc())
先定位下拉框,再用鼠标悬停点击操作就行