selenium报错问题

最近正在学习写自动化测试脚本,遇到一个错误迟迟未解决,导致自信心大受挫败,甚至想放弃。

思考许久突然想到,我遇到的问题是否也有人会遇到,如果有的话问题就应该有解决办法了。没什么问题是百度解决不了的,如果不行那就谷歌。

终于有了前辈们的指引,问题解决了,瞬间信心十足,又有了学习的动力。

话不多说,直接上图,下面是遇到的错误提示:

Traceback (most recent call last):
File "cs.py", line 26, in test_GIS
self.driver.find_element_by_xpath('//*[@id="app"]/div/div[1]/div[1]/div/ul/li[2]').click()#点击GIS地图
File "F:\python3.7\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "F:\python3.7\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "F:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "F:\python3.7\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <li class="ivu-menu-item">...</li> is not clickable at point (33, 209). Other element would receive the click: <i class="ivu-icon ivu-icon-ios-warning"></i>
(Session info: chrome=78.0.3904.97)

解决办法:

在定位元素前面添加休眠时间,原因是页面未加载完全,使用无法识别元素。刚开始一直以为是元素定位的不对,但我通过CMD命令窗口一行一行的运行检查发现并没有出现报错。下面是我修改好的代码

直接在元素定位前面添加一秒休眠时间,结果成功运行。

 1   def test_GIS1(self):#GIS查看设备详情
 2     self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[1]/div/a/i').click()#点击侧边栏
 3     time.sleep(1)
 4     self.driver.find_element_by_xpath('//*[@id="app"]/div/div[1]/div[1]/div/ul/li[2]').click()#点击GIS地图
 5     time.sleep(1)
 6     self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[2]/div/div/div/div/div/div[1]/div/ul/li/div').click()#点击省级区域
 7     time.sleep(1)
 8     self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[2]/div/div/div/div/div/div[1]/div/ul/li/ul/li/div').click()#点击市级区域
 9     time.sleep(1)
10     self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[2]/div/div/div/div/div/div[1]/div/ul/li/ul/li/ul/li/div').click()#点击第一个区域
11     time.sleep(1)
12     self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[2]/div/div/div/div/div/div[1]/div/ul/li/ul/li/ul/li[1]/ul/li[1]').click()#点击第一个设备
13     time.sleep(1)
14     self.driver.find_element_by_xpath('//*[@id="allmap"]/div[1]/div/div[2]/div/div[2]/div/div[1]/button[1]').click()#点击设备详情
15     time.sleep(1)
16     self.driver.find_element_by_xpath('/html/body/div[14]/div[2]/div/div/div[2]/div[2]/button/span').click()#点击关闭

猜你喜欢

转载自www.cnblogs.com/hy546880109/p/12045463.html