“ TypeError:'str'对象不可调用”通过Python + Selenium在预期条件内传递定位符

问题描述 投票:0回答:2

我收到以下错误:

回溯(最近一次通话):文件“ [已编辑]”,第69行,在wait.until(EC.element_to_be_clickable(By.ID(“ RptViewer_ctl09_ctl04_ctl00_ButtonLink”)))TypeError:“ str”对象不可调用

这是我认为引起问题的代码部分:

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')”部分,但我不确定这是否正确,也不确定如何解决。非常感谢任何指导。

谢谢!

python selenium selenium-webdriver webdriverwait expected-condition
2个回答
0
投票

By.ID是一个字符串。不可以通话。预期条件采用元组形式的定位符(如quamrana所示)


0
投票

[将WebDriverWaitexpected_conditions结合使用时,必须将定位符用一个元组括起来,如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.