簡體   English   中英

使用.text()復制文本硒

[英]copying text selenium using .text()

我需要使用硒從表格中抓取一些文本。 我是一個新手,但是由於Stack溢出,我可以走得很遠。 現在,使用text()復制文本時出現錯誤。 這是我的代碼。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium import webdriver


driver = webdriver.Chrome('C:/Users/User/Downloads/chromedriver')
url = "https://aca.tampagov.net/citizenaccess/Default.aspx#"
driver.get(url)
# The website I need to check


# Click "search" at the top menu
driver.find_element_by_xpath('//*[@id="main_menu"]/ul/li[2]/a').click()
# Click "building permits" in the menu that follows below
driver.find_element_by_xpath('//[@id="main_menu"]/ul/li[2]/ul/li[1]/a').click()

#change iframes
driver.switch_to.frame("ACAFrame")
# When changing iframes, I was recommended that I should use this, 
# WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//*[@id='ACAFrame']")))

# but I'm now having troubles running this line so I changed it to the line like above

現在,您可以找到下面的表格。 我想使用以下代碼復制文本:

driver.find_element_by_xpath('//tbody/tr[3]/td[4]').text()

但是我得到了:

Traceback (most recent call last):

File "<ipython-input-117-2a4c7f9321b5>", line 1, in <module>
driver.find_element_by_xpath('//tbody/tr[3]/td[4]').text()

TypeError: 'str' object is not callable

我在這里做錯了什么?

采用

driver.find_element_by_xpath('//tbody/tr[3]/td[4]').text

代替

driver.find_element_by_xpath('//tbody/tr[3]/td[4]').text()

語句driver.find_element_by_xpath('//tbody/tr[3]/td[4]').text返回一個string ,因此您不必在末尾添加括號。 如果添加括號,則語法意味着正在調用它,但只能調用 可調用對象,例如函數。 因此,錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM