【问题标题】:How to handle Python try/except with Selenium如何使用 Selenium 处理 Python try/except
【发布时间】:2021-07-20 07:59:39
【问题描述】:

我正在尝试使用 Selenium 在 Instagram 上关注人们。

但我的大问题是在迭代所有配置文件以区分公共/私人用户时循环(由页面上的不同元素引起)。 在我的代码中,当循环到达私有配置文件时,except 首先在 try 之后开始。

我的代码:

followers = [ #url of all users]

for follower in followers:
    #Iterate into the list
    browser.get(follower)
    sleep(2)
  
  try:
     browser.find_element_by_css_selector("li:nth-of-type(2) a.-nal3 span").get_attribute("title"):
     print("Public profil") 
     #click on follow                  
  
  except NoSuchElementException:
     print("private profil")
     follower_count = browser.find_element_by_css_selector("li:nth-of-type(2) span.-nal3 span").get_attribute("title")
     if follower_count == 0:
        pass
        print("0 followers")
      
     else:
        print("go follow")

我认为理解正确,如果执行了except对应的子句,则在语句try之后继续执行,但这并不能解释为什么循环在except之后结束。

错误:

【问题讨论】:

  • 可能是错字? a.-nal3-nal3
  • @vitaliis 不一样,公众用户:a.-nal3 span;私人用户:-nal3 span

标签: python selenium exception instagram


【解决方案1】:

在你的 NoSuchElementException 中,你又在写

     follower_count = browser.find_element_by_css_selector("li:nth-of-type(2) span.-nal3 span").get_attribute("title")

我预计这会引发另一个 NoSuchElementException,因为您正在再次尝试查找相同的元素。

【讨论】:

  • 不完全一样。一个是span.-nal3 span,另一个是a.-nal3 span。一开始我自己也是这么想的。
猜你喜欢
  • 2018-07-15
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 2019-06-26
  • 2020-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多