首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单击don't working for enabled element in Selenium

单击don't working for enabled element in Selenium
EN

Stack Overflow用户
提问于 2021-12-04 02:27:35
回答 1查看 44关注 0票数 1

我希望页面上的一些元素已经被点击。但是Selenium click不起作用。我的代码的这一部分:

代码语言:javascript
运行
复制
username_form = driver.find_element_by_id('form3-username')
    password_form = driver.find_element_by_id('form3-password')
    username_form.send_keys('SomeLogin')
    password_form.send_keys('SomePass')
    driver.find_element_by_xpath("//div[@class='one-factor']/button").click()
    element = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.XPATH,  "//div/a[@id='notify-toggle' and not(@disabled)]"))
    )
    element.click()

将我正在处理的页面分成两部分:

代码语言:javascript
运行
复制
<a id="notify-toggle" class="toggle link">
    <span title="Уведомления" class="data-count" data-count="0" data-icon="">
    </span>
</a>

Promlem是element.click()不工作。我熟悉了我的问题的一些解决方案,但我发现这些解决方案对我不起作用。我尝试在not (@disabled)和其他解决方案中使用xpath expression,但没有人对我有帮助。我完全不知道为什么click不能工作,我很乐意得到任何提示

EN

回答 1

Stack Overflow用户

发布于 2021-12-04 08:33:49

将内部<span>引导WebDriverWait作为的目标,您可以使用以下任一Locator Strategies

使用CSS_SELECTOR的

WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,“a.toggle.link#notify-切换span.data-count:not(disabled)title"))).click()

使用XPATH的

span(driver,20).until(EC.element_to_be_clickable((By.XPATH,“//a@class=‘切换链接’and @id=‘通知切换’//WebDriverWait@class=‘数据计数’和@title"))).click()

  • Note:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC

参考文献

您可以在以下位置找到几个相关的详细讨论:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70222582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档