【发布时间】:2018-07-06 11:33:14
【问题描述】:
您好,我是 Selenium 的新手,非常感谢您的帮助。
我需要学习如何复制文本,尤其是从特定网站的表格中复制文本:https://aca.tampagov.net/citizenaccess/Default.aspx# (转到 url --> 搜索 --> 建筑许可 --> 点击搜索按钮)。
您可以在页面底部找到一个表格。
“记录类型”列的第一行包含文本“商业实用程序”。如果我想复制文本,我认为我应该做的是获取 xpath,即
//*[@id="ctl00_PlaceHolderMain_dgvPermitList_gdvPermitList_ctl02_lblType"]
所以我会有类似的东西
driver.find_element_by_xpath('//*[@id="ctl00_PlaceHolderMain_dgvPermitList_gdvPermitList"]/tbody/tr[3]/td[4]').text()
但这给了我和错误。我在这里做错了什么?我怎样才能从这些表格中复制文本?
编辑
这就是我得到的:
Traceback (most recent call last):
File "<ipython-input-81-4e51d9229198>", line 1, in <module>
driver.find_element_by_xpath('//* [@id="ctl00_PlaceHolderMain_dgvPermitList_gdvPermitList"]/tbody/tr[3]/td[4]').text()
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 387, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 957, in find_element
'value': value})['value']
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute
self.error_handler.check_response(response)
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="ctl00_PlaceHolderMain_dgvPermitList_gdvPermitList"]/tbody/tr[3]/td[4]"}
(Session info: chrome=67.0.3396.99) (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.17134 x86_64)
【问题讨论】:
-
错误是什么?
-
该表在 iframe 中,您需要切换到它。