Python/Selenium爬虫脚本出现'str' object is not callable错误求助
解决Selenium
'str' object is not callable 错误 问题原因
你在调用find_element时犯了语法错误:把By.XPATH当成函数来使用(加了括号By.XPATH("xxx")),但实际上By.XPATH只是一个字符串常量(值为"xpath"),并非可调用的函数,这直接触发了str对象无法被调用的报错。
正确写法
将代码改成以下两种正确形式中的任意一种即可:
写法一:使用By类常量作为第一个参数
XXX = driver.find_element(By.XPATH, "//div[./h4[text()='Moved from Registered Address']]//a[text()='View Active']")
写法二:直接用字符串指定定位类型(无需导入By)
XXX = driver.find_element("xpath", "//div[./h4[text()='Moved from Registered Address']]//a[text()='View Active']")
额外提示
登录操作完成后,页面可能还未完全加载就执行元素定位,容易出现找不到元素的问题。建议添加显式等待确保元素加载完成:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 最多等待10秒,直到目标元素出现 XXX = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, "//div[./h4[text()='Moved from Registered Address']]//a[text()='View Active']")) )
内容的提问来源于stack exchange,提问作者user3765883
相关产品推荐
相关产品推荐

