如何解决消息:元素在访问标记python时不可交互
我正在尝试访问url上的登录按钮,如下面的代码所示。我已经验证了网址以及href的内容。它们都与使用检查元素开发工具显示的内容一致。
但是在单击提取的元素时,我得到了错误:
import numba
from numba import jit,jitclass,types,typed
dict_type = numba.deferred_type()
node_spec = [
('key',numba.uint32),('data',numba.uint32[:]),('count',('children',dict_type)
]
@jitclass(node_spec)
class Node:
def __init__(self,key,data=None):
self.key = key
self.data = data
self.count = 0
self.children = {}
node_instance = Node.class_type.instance_type
dict_type.define(numba.typeof(typed.Dict.empty(
key_type=numba.uint32,value_type=node_instance
)))
我不知道为什么会这样。
请帮助我解决这个问题
Message: element not interactable
解决方法
要单击“登录”链接,请诱导select
dp.id,dp.queue,dp.activityId,COUNT(*)
from
department dp
inner join
product pd
ON pd.id = dp.id
AND pd.queue= dp.queue
AND pd.activityId = dp.activityId
where
dp.id > 1
AND pd.status in('1','7','2','5')
GROUP BY
dp.id,dp.activityId
HAVING
COUNT(*) > 1
()和WebDriverWait
()并跟随css选择器。
element_to_be_clickable
或跟随xpath。
WebDriverWait(browser,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a.main-navigation__navbar>.main-navigation__navbar-text"))).click()
您需要导入以下库。
WebDriverWait(browser,5).until(EC.element_to_be_clickable((By.XPATH,"//span[text()='Sign In']"))).click()
,
要单击文本为登录的元素,您需要为element_to_be_clickable()
引出WebDriverWait,并且可以使用以下任一Locator Strategies:
-
使用
CSS_SELECTOR
:WebDriverWait(browser,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a.main-navigation__navbar span"))).click()
-
使用
XPATH
:WebDriverWait(browser,20).until(EC.element_to_be_clickable((By.XPATH,"//a[@class='main-navigation__navbar ']//span"))).click()
-
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。