当前位置: 首页 > 面试题库 >

如何通过Python使用Selenium从标记中提取所有文本

唐声
2023-03-14
问题内容

这是我要从中提取数据的网站链接,我试图href在锚标记下获取属性的所有文本。这是示例html:

<div id="borderForGrid" class="border">
  <h5 class="">
    <a href="/products/product-details/?prod=30AD">A/D TC-55 SEALER</a>
  </h5>

<div id="borderForGrid" class="border">
  <h5 class="">
    <a href="/products/product-details/?prod=P380">Carbocrylic 3356-1</a>
 </h5>

我想提取所有文本值,例如['A/D TC-55 SEALER','Carbocrylic 3356-1']
我尝试了:

target = driver.find_element_by_class_name('border')
anchorElement = target.find_element_by_tag_name('a')
anchorElement.text

但它给出''(空)字符串。

关于如何实现的任何建议?

PS-在“ 产品类型”* 下选择单选按钮的第一个值 *


问题答案:

要提取<a>标签内的所有文本值,例如 [‘A / D TC-55 SEALER’,’Carbocrylic 3356-1’] ,您必须为引入
WebDriverWaitvisibility_of_all_elements_located()并且可以使用以下任一解决方案:

  • 使用CSS_SELECTOR

    print([my_elem.get_attribute("innerHTML") for my_elem in WebDriverWait(driver, 5).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "li.topLevel[data-types='Acrylics'] h5>a[href^='/products/product-details/?prod=']")))])
    
  • 使用XPATH

    print([my_elem.get_attribute("innerHTML") for my_elem in WebDriverWait(driver, 5).until(EC.visibility_of_all_elements_located((By.XPATH, "//li[@class='topLevel' and @data-types='Acrylics']//h5[@class]/a[starts-with(@href, '/products/product-details/?prod=')]")))])
    
  • 注意 :您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    

    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC



 类似资料:
  • 我正在尝试使用Python中的BeautifulSoup包提取存在于div标记中的文本。 示例我想提取标记 内部的文本 以及 中的文本 当我运行代码时,系统崩溃并显示以下错误: ----------------------------------------------------------------------------------------------------在60###artic

  • 我正在尝试使用Python和Selenium获取此元素。 这就是我所尝试的: 我做错了什么?

  • 我使用以下python代码启动Firefox网页。 在启动if之后,不知何故我知道了这个标记的xpath。 如果我现在是属性的名称,我可以使用python上的selenium webdrive使用以下命令提取属性。 所以我的输出是 请帮助我找出提取所有属性及其值的方法,即使我不知道它有哪些属性。我的预期输出是 我不确定这可能有多远,但我希望像在字典中一样,我们甚至可以在不知道键的情况下提取数据。非

  • 我试图使用python/lxml和命令提取图像URl,但在隔离url本身时遇到麻烦。 下面是我想要的围绕img的HTML: 具体来说,我想隔离<代码>https://photos.zillowstatic.com/p_h/IS2fordnekys6d1000000000.jpgurl。 我尝试了几种方法,但都没有成功,包括以下几种方法:

  • 我要提取的数据来自这个网站https://www.adobe.com/support/security/advisories/apsa11-04.html。我只想提取 发布日期:2011年12月6日最后更新:2012年1月10日漏洞标识符:APSA11-04 CVE编号:CVE-2011-2462 代码: 输出: 我不想要这些信息。我该如何过滤呢? 平台:全部*注意:Adobe Reader fo

  • 我想在这里得到这个特定元素内的文本 如何使用python和selenium从“数据剪贴板文本”中获取文本? 我试过了 没有运气