当我尝试执行以下所示的代码时,出现错误:
TypeError:“ str”对象不可调用
email2_elem = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div[1]/div[1]/form[1]/div[1]/input[1]").text()
答案 0 :(得分:2)
text
是属性,而不是函数。不用()
element.text
请注意,绝对xpath
"/html/body/..."
是一种不好的方法,它使定位器很脆弱。您应该尝试通过唯一属性(id
,name
,class
等)或相对不相关的xpath
来定位元素。
答案 1 :(得分:1)
此错误消息...
TypeError: 'str' object is not callable
...表示您的程序已调用function()
,实际上是property
。
根据selenium.webdriver.remote.webelement, text
是property
。
因此,您不能将text()
用作函数。因此,您会看到错误。
您可以使用以下任一解决方案:
使用text
属性:
email2_elem = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div[1]/div[1]/form[1]/div[1]/input[1]").text
使用get_attribute("innerHTML")
方法:
email2_elem = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div[1]/div[1]/form[1]/div[1]/input[1]").get_attribute("innerHTML")