0

我收到以下错误:

回溯(最后一次调用):文件“[redacted]”,第 69 行,在 wait.until(EC.element_to_be_clickable(By.ID("RptViewer_ctl09_ctl04_ctl00_ButtonLink"))) TypeError: 'str' object is not callable

这是我认为导致问题的代码部分:

66   browser.find_element_by_id('RptViewer_ctl09_ctl04_ctl00_ButtonLink')
67   drp = browser.find_element_by_id('RptViewer_ctl09_ctl04_ctl00_ButtonLink')
68   wait = WebDriverWait(browser, 10)
69   wait.until(EC.element_to_be_clickable(By.ID('RptViewer_ctl09_ctl04_ctl00_ButtonLink')))
70   drp.click()

我认为导致问题的原因是“ID('RptViewer_ctl09_ctl04_ctl00_ButtonLink')”部分,但我不确定这是否属实,我不确定如何解决它。非常感谢任何指导。

谢谢!

4

2 回答 2

0

在将WebDriverWaitexpected_conditions结合使用时,您必须将定位器括在一个元组中,如下所示:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "RptViewer_ctl09_ctl04_ctl00_ButtonLink")))
于 2019-12-18T23:34:39.010 回答
0

By.ID 是一个字符串。不可调用。预期条件采用元组形式的定位器(正如 quamrana 已经建议的那样)

于 2019-12-18T22:32:14.183 回答