我已经检查了所有以前的类似问题,它们不适用于我的情况。
try:
element = wait.until(
EC.presence_of_element_located((By.XPATH, "//*[@id='_ariaId_73.folder'] | //*[@id='_ariaId_133.folder']"))
)
except:
print "403 : Monitoring Not Found"
element.click()
它是不会进入异常块还可以,但它仍然抛出ElementNotVisibleException
的element.click()
方法。
关于解决方案的几句话:
presence_of_element_located()
涉及 用于检查的元件是存在于页面的DOM的期望。 这并不一定意味着该元素是可见的。一旦找到元素,用于查找元素的定位器将返回WebElement。因此,我们必须更改 与之 相关的子句,presence_of_element_located()
以 期望检查已知在页面DOM中存在的元素是否可见。 可见性意味着不仅显示元素,而且其高度和宽度都大于0。element是WebElement在可见时返回(相同)WebElement 。 visibility_of_element_located()
__click()
为 WebElement 调用方法。因此,代替presence_of_element_located()
我们将使用该 element_to_be_clickable()
子句。try:
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='_ariaId_73.folder'] | //*[@id='_ariaId_133.folder']")))
except:
print “403 : Monitoring Not Found”
element.click()