请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

visibility_of_element_located方法找不到元素时,返回结果不是false

试了一下visibility_of_element_located方法的返回结果跟您讲的有点区别,当找不到元素的时候,报了如下的错,而不是返回false
selenium.common.exceptions.ElementNotVisibleException: Message: element not visible

正在回答 回答被采纳积分+3

2回答

提问者 慕先生1271423 2019-08-28 19:09:00

全部代码太长了就给您粘一部分吧


def operation(self,type,oper,location,sendkey):
   if(type=='xpath'):
       #WebDriverWait(self.driver, 12).until(EC.visibility_of_element_located((By.XPATH,location)))
       obj=By.XPATH,location
       print(EC.visibility_of_element_located(obj))


open_chrome.operation('xpath','click','/html/body/div/div[1]/div[2]/div/div[3]/div/ul/li[1]/ul/li[4]','')


如果找不到控件打印出来的结果就直接是报错信息了

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div[1]/div[2]/div/div[3]/div/ul/li[1]/ul/li[4]"}

  (Session info: chrome=76.0.3809.132)

0 回复 有任何疑惑可以回复我~
Mushishi 2019-08-28 09:14:42

这个有问题,你把代码发一下,这个按照写法讲的一样你的结果不一样?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕先生1271423 #1
    全部代码太长了就给您粘一部分吧
    
    
    
    def operation(self,type,oper,location,sendkey):
       if(type=='xpath'):
           #WebDriverWait(self.driver, 12).until(EC.visibility_of_element_located((By.XPATH,location)))
           obj=By.XPATH,location
           print(EC.visibility_of_element_located(obj))
    
    
    
    open_chrome.operation('xpath','click','/html/body/div/div[1]/div[2]/div/div[3]/div/ul/li[1]/ul/li[4]','')
    
    
    
    如果找不到控件打印出来的结果就直接是报错信息了
    
    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div[1]/div[2]/div/div[3]/div/ul/li[1]/ul/li[4]"}
    
      (Session info: chrome=76.0.3809.132)
    回复 有任何疑惑可以回复我~ 2019-08-28 19:09:28
  • Mushishi 回复 提问者 慕先生1271423 #2
    亲,这里是需要封装呀。就是wait那个util那个。我们说的是这个和我们自己缝状一个local element
    回复 有任何疑惑可以回复我~ 2019-08-30 21:59:13
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信