报错代码:
# 步骤 8进入购物车详情
# 点击购物车
sleep(15)
self.driver.find_element("xpath", "//a[contains(@href,'s=cart/index.html')]").click()
执行报错:
selenium.common.exceptions.ElementNotInteractableException: Message: Element <a class="am-block" href="http://shop.pro.17lebo.com/?s=cart/index.html"> could not be scrolled into view
试了加智能等待不行,元素未在框架内,也不需要滑动滚动条
也试了强制等待也不行
解决可行方法(推荐):
定位多写上面几层,更容易定位到//div[@class='top-nav-items'][5]/div/a
#修改好了的,报错后,定位到父及,多写父级元素,再一层层往下找
self.driver.find_element("xpath", "//div[@class='top-nav-items'][5]/div/a[contains(@href,'s=cart/index.html')]").click()
还试了其他方法也可行,但是不是最好的,能达到目的,比如等到该元素的属性值,然后再重新打开链接,(不推荐),这里是跳转链接
carturl = self.driver.find_element("xpath", "//div[@class='menu-hd']/a[contains(@href,'s=cart/index.html')]").get_attribute('href')
self.driver.get(carturl)