python - 以前可以点击的元素现在不能点击了?
问题描述
因此,我制作了一个程序,在您登录后通过输入帐号来搜索帐户数据库。现在它在第一个循环中完美运行,但是当我输入下一个帐号时出现异常错误元素不可点击的地方。现在我知道它是可点击的,因为它在第一个循环中运行良好,发生了什么?
这是代码块:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
from bs4 import BeautifulSoup
import lxml
import time
import requests
import re
import csv
from tkinter import *
driver = webdriver.Chrome()
driver.switch_to.default_content()
driver.switch_to.frame("ifrmContent")
action = ActionChains(driver)
Activity = action.move_to_element(driver.find_element_by_xpath("//*[@id='divMenu23']")).perform()
time.sleep(0.5)
ActImpct = action.move_to_element(driver.find_element_by_xpath("//*[@id='divMenu266']")).perform()
time.sleep(0.5)
ClickImpct = driver.find_element_by_xpath("//*[@id='divMenu266']").click()
driver.switch_to.default_content()
ImpctBalance = driver.find_element_by_css_selector('[src*="impactingActivities"]')
driver.switch_to.frame(ImpctBalance)
print("\n")
try:
wait = WebDriverWait(driver, 0.5)
Row3 = wait.until(EC.visibility_of_element_located((By.XPATH, "//*[@id='tblDetails']/tbody/tr[3]")))
print("ACTIVITY IMPACTING BALANCE, REVIEW NEEDED")
print("\n")
except:
print("No Activity Impacting Balance")
print("\n")
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='tblButtonBar2']/input")))
driver.find_element_by_xpath("//*[@id='tblButtonBar2']/input").click()
我不怀疑这是一个框架问题,因为它仍然会从它显示的表格中抓取信息。我尝试添加隐式等待和一些时间延迟以使其有时间加载(尽管这在第一次运行时不是问题)只是为了看看这是否有帮助,但它没有。
我得到的错误是程序的最后一行:
selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable
任何帮助将非常感激!
编辑:我认为这实际上是一个框架问题,即使由于某种原因该框架的 CSS 选择器是相同的,它也无法访问该框架内的元素。之前有一个类似的问题,对于每个新的弹出窗口,该框架的数量都会改变,但原来的仍然存在,所以它从来没有说它找不到框架。可能在这里被搞砸了。
解决方案
推荐阅读
- javascript - 为什么 chrome 扩展 javascript ajax 调用在调用 yii2 操作时不返回成功的 json 数据?
- python - 无法为 python3 正确安装 pip3
- node.js - step.prompt(OAUTH_PROMPT) 如何在节点 js 的 botbuilder 版本 4 中自动移动到瀑布对话框中的下一个函数?
- python - PatternMatchingEventHandler 忽略我没有设置到它的属性中的模式
- excel - 将带有一些空值的 CSV 文件读入 VBA 数组
- qt - 如何连续打印长小部件
- node.js - JSON.stringify 大对象优化
- html - 如何在 IE11 中从 svg 图像的顶部和底部删除多余的空间
- java - Powershell中的客户端命名管道未连接到Java中的服务器
- python - 如何在pyqt4 python中为窗口关闭(X)按钮编写事件