【问题标题】:How Can I wait for an Element will be visible then be clicked in Python Selenium Webdriver?如何等待元素可见,然后在 Python Selenium Webdriver 中单击?
【发布时间】:2015-11-30 15:49:49
【问题描述】:

在 odoo 中,我编写了代码来单击发送按钮,即

browser.find_element_by_xpath("//span[.='Send']").click()

单击此发送按钮后,我必须单击“确认销售”按钮,但在运行时会出现错误,例如 Element is not visible

我也试过

webdriver.wait.until(browser.find_element_by_xpath("//span[.='Confirm Sale']"))

但它会出现类似

的错误
AttributeError: 'module' object has no attribute 'wait'

我为此贴了 2 张图片

但是点击发送按钮后,工作流程状态也从“草稿报价”更改为“报价已发送”,所以我怎么能等待我的网络驱动程序完成所有这些事情然后点击“确认销售”按钮

我已经这样声明了我的 webdriver

def setUp(self):
    self.browser = webdriver.Firefox()
    browser = self.browser
    browser.get("http://localhost:5555")

所以请提供确切的代码

【问题讨论】:

标签: python selenium webdriver odoo


【解决方案1】:

您必须导入 webdriver 等待模块。您可以执行以下示例。 阅读更多关于等待Waits

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

wd = webdriver.Chrome(executable_path="your/path/to/chromedriver")

# Access website

wait = WebDriverWait(wd, 10)
confirm = wait.until(EC.element_to_be_clickable((By.XPATH, "//span[.='Confirm Sale']")))
confirm.click()

【讨论】:

  • wd 未定义
  • wd 是 webdriver 的实例
猜你喜欢
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 2016-06-09
  • 2016-12-29
  • 2018-02-19
  • 2016-07-18
  • 2017-08-14
相关资源
最近更新 更多