程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何获取属于 div 类的特定文本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何获取属于 div 类的特定文本?

开发过程中遇到如何获取属于 div 类的特定文本的问题如何解决?下面主要结合日常开发的经验,给出你关于如何获取属于 div 类的特定文本的解决方法建议,希望对你解决如何获取属于 div 类的特定文本有所启发或帮助;

@H_874_5@<div class="col_5"> <br> <i class="phone"> :: Before </i> 0212 / 897645 <br> <i class="print"> :: Before </i> 0212 / 111111 <br> <br> </div>

首先,我从一个网站获取数据,并通过使用 Pandas 将这些数据应用于 excel。

我有一个如上所述的 HTML 代码。我想取下 <i class='phone'> 后面的电话号码并传递另一个。但是,电话号码不属于 I 类,因此我只能通过获取 <div class='col_5'> 的“xpath”来获取数字,但这对我来说并不安全,因为某些“div”没有电话号码并且只有打印数字,这对我来说可能是致命的。例如,我尝试像这样找到 <div class='col_5'> 的 xpath

num = browser.find_elemenT_By_xpath('div[1]/div/div[103]/div[2]')
num.text.split('\n')

输出是

['02243 / 80343','02243 / 83261']

@H_874_5@<div class="col_5"> <br> <i class="phone"> ::Before </i> <br> <i class="print"> ::Before </i> 0201 / 623424 <br> <br> <a href="mailto:info@someone.com"> <i class="envelope"> </i> E-Mail</a> </div>

以上 我分享了没有电话号码但只有印刷号码的代码。当我在第二个代码中得到 <div class='col_5'> 的 xpath 时,我只得到打印号码,而当这些发生时,我将我的数据打印号码添加为电话号码。这导致数据不正确。当我做上述相同的事情时,输出是

['0201 / 623424','','E-Mail']

所以当我尝试获取第一项时,它需要打印编号。如果有电话号码,我只想拿走,如果没有,拿走它继续前进。这可能吗?

解决方法

要打印文本 0212 / 897645,您必须为 visibility_of_element_located() 引入 WebDriverWait,您可以使用以下任一 Locator Strategies:

  • 使用 CSS_SELECTORchildNodesStrip()

    print(driver.execute_script('return arguments[0].childNodes[5].textContent;',WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.CSS_SELECTOR,"div.col_5")))).Strip())
    
  • 使用 XPATHget_attribute()splitlines()

    print(WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,"//div[1]/div/div[103]/div[2]"))).get_attribute("innerHTML").splitlines()[4])
    
  • 注意:您必须添加以下导入:

    from SELEnium.webdriver.support.ui import WebDriverWait
    from SELEnium.webdriver.common.by import By
    from SELEnium.webdriver.support import expected_conditions as EC
    

文献

您可以在以下位置找到一些相关的详细讨论:

  • How to retrieve partial text from a text node using SELEnium and Python
  • How to get text from textnodes seperated by whitespace using SELEnium and Python

大佬总结

以上是大佬教程为你收集整理的如何获取属于 div 类的特定文本全部内容,希望文章能够帮你解决如何获取属于 div 类的特定文本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:div