【发布时间】:2020-12-30 00:16:58
【问题描述】:
尝试使用 XPATH 从表中获取元素(文本)然后打印,但出现以下错误:
NoSuchElementException:消息:没有这样的元素:无法定位 元素。
我已经等了一段时间,但得到了同样的错误。如何获取文本?
我使用了以下代码:
account = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="ctl00_lc_ucLeftMenu_li_1_4"]/a[2]')))
account.click()
time.sleep(3)
portfolio = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="ctl00_lc_ucLeftMenu_leaf_2_35"]')))
portfolio.click()
time.sleep(3)
sold = driver.find_element_by_xpath('//*[@id="37ef7b7a-3a62-4d56-a479-29c99031de7e"]/table/tbody/tr[8]/td[5]')
print('The amount is: {}'.format(sold.text))
sold1 = float(sold.text)
请参阅附件 - 以获取突出显示的文本。
【问题讨论】:
-
您的 xpath 是第 5 个而不是第 10 个
td,但这不是错误的重点 - 请您改进您的问题,并提供一些代码作为文本而不是图像。 -
图像是我试图从中获取文本的 html。你是对的,突出显示的是第 10 个 td,但是,我应该有 612,但我得到了错误“找不到元素”。
-
该 id 可能是动态的并且可能会切换。
-
@Mardjacku 这很清楚,但又一次 -> 你能否改进你的问题,请提供一些你的书面代码作为文本而不是图像。 How to create a Minimal, Reproducible Example 这将帮助我们所有人重现该行为。非常感谢。
-
@Arundeep Chohan:id 不是动态的;点击投资组合后,我想得到的表格和金额如上图所示。
标签: python selenium selenium-webdriver