从<td class=“Text”>中提取文本的Python需要此文本</td>

2024-05-18 16:16:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我不熟悉selenium和python,所以我的总体目标是从Hoovers网站上提取公司的收入价值。在

当前代码:

company = 'Trelleborg'
page = 'https://hoovers.com/company-information/cs.html?term=' + company
driver.get(page)

r = driver.find_element_by_xpath('//td/font[@class="company_sales"]').text
print(r)

所需收入的HTML

^{pr2}$

我想将38.4284亿美元的文本提取到变量中。我尝试了许多不同的解决方案,我发现在网上,但不断收到NoSuchElementException错误消息。任何帮助都将不胜感激!!!在


Tags: 代码httpscominformation网站driverseleniumpage
3条回答

在这种情况下,可以通过类名、CSS扇区或XPath找到元素。在

如果要使用XPath:

driver.find_element_by_xpath('//td[@class="company_sales"]').text

或者如果您想使用CSS扇区:

^{pr2}$

或者

driver.find_element_by_css_selector(".company_sales").text

或者如果要使用类名:

driver.find_element_by_class_name("company_sales").text

祝你好运!在

这看起来像是XPath的问题。通常Xpath格式是这样的。在

Xpath=//tagname[@attribute='value']
  • //:选择当前节点。在
  • 标记名:特定节点的标记名。在
  • @:选择属性。在
  • 属性:节点的属性名称。在
  • Value:属性的值。在

因此,在您的示例中,结果xpath必须如下所示。在

^{pr2}$

要提取并打印文本$384284m,您需要诱导WebDriverWait,以获得所需的位置元素的可见性,您可以使用以下解决方案:

  • 代码块:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    company = 'Trelleborg'
    driver = webdriver.Firefox(executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
    page = 'https://hoovers.com/company-information/cs.html?term=' + company
    driver.get(page)
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='cmp-company-directory']//tbody//td/a[contains(., '"+company +"')]//following::td[2]"))).get_attribute("innerHTML"))
    
  • 控制台输出:

    $3842.84M
    

相关问题 更多 >

    热门问题