使用Selenium获取标签“ h1”和id中的信息

安迪·范

我正在尝试获取以下信息:'Jarrow配方,叶酸甲酯,400 mcg,60粒素食胶囊'

您可以查看图片,非常感谢:

在此处输入图片说明

在此处输入图片说明

我使用了这段代码,但没有成功:

driver = webdriver.Chrome(chrome_path)
driver.get("https://www.iherb.com/c/Vitamin-B?sr=2")
wait = WebDriverWait(driver, 10)

item_name = list()

#close the pop up
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,"svg[data-ga-event-action='list-close']"))).click()

#store all the links in a list
item_links = [item.get_attribute("href") for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,".absolute-link-wrapper > a.product-link")))]

for item_link in item_links:
    driver.get(item_link)item_name.append(driver.find_element_by_css_selector('[id="name"]').text) #this code doesnt work
DebanjanB

要打印文本 value,可以使用以下两种定位策略之一

  • 使用xpath文字属性:

    print(driver.find_element_by_xpath("//section[@class='column image-fixed']//following::section[2]//div[@id='product-summary-header']//h1[@id='name']").text)
    
  • 使用xpathget_attribute()

    print(driver.find_element_by_xpath("//section[@class='column image-fixed']//following::section[2]//div[@id='product-summary-header']//h1[@id='name']").get_attribute("innerHTML"))
    
  • 控制台输出:

    Jarrow Formulas, Methyl Folate, 400 mcg, 60 Veggie Caps
    

理想情况下,您需要为引入WebDriverWaitvisibility_of_element_located()并且可以使用以下两种定位策略之一

  • 使用xpath文字属性:

    driver.get('https://ca.iherb.com/pr/Jarrow-Formulas-Methyl-Folate-400-mcg-60-Veggie-Caps/42778')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//section[@class='column image-fixed']//following::section[2]//div[@id='product-summary-header']//h1[@id='name']"))).text)
    
  • 使用XPATHget_attribute()

    driver.get('https://ca.iherb.com/pr/Jarrow-Formulas-Methyl-Folate-400-mcg-60-Veggie-Caps/42778')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//section[@class='column image-fixed']//following::section[2]//div[@id='product-summary-header']//h1[@id='name']"))).get_attribute("innerHTML"))
    
  • 控制台输出:

    Jarrow Formulas, Methyl Folate, 400 mcg, 60 Veggie Caps
    
  • 注意:您必须添加以下导入:

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

您可以在如何使用Selenium检索WebElement的文本中找到相关的讨论-Python


参考文献

链接到有用的文档:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Selenium WebDriver、Java 中的类从 <h1> 标签中获取值

如何从 Selenium + Cucumber + Ruby 中的 H1 标签中获取文本

如何使用 Selenium 和 BeautifulSoup 从标签中获取文本

使用漂亮的汤在python中检索`h1 id`

使用Python和Selenium通过标签获取多个元素

想使用 selenium 从 li 标签中获取文本

使用 selenium webdriver 从嵌套的 div 标签中获取文本

如何获取 H1 标签的值并使用 Jest 和 RTL 对其进行测试

在js文件中使用和创建的div中添加h1标签

python urllib2和ntlm-在响应html中获取“ <h1>对象已移动</ h1>”

如何在python中使用硒从h1标签中获取字符串

在Selenium中获取HTML标签

H1 大小在 Div 标签和 section 标签中不同

两行带有h1标签中的链接和跨度

在图片下方和h1 html标签中显示图片alt或标题

如何在一个 div 中水平对齐 h1 和标签?

Selenium Python获取<script>标签信息?

通过引用h1 id获取h1内的跨度值

如何使用Selenium和python获取作为标签中符号的文本?

在 Angular 网站中,使用 Selenium 和 Python 获取 <div> 标签内的确切文本?

是否将同一文本的颜色和字体的标签放在相同的<h1>括号</ h1>中?

xslt-1.0 使用 <h1> 和 <h2> 创建 xml 标签

我的带有<a>和<h1>标签的代码获取元素

如何使用JavaScript隐藏网页中的<h1>和<p>标记?

在 <h1> 标签中写出 HTML <p> 标签

H1标签中的Span标签导致换行

Selenium Xpath我如何使用starts-with获取html id标签的值

尝试在Selenium Python中获取标签后的信息

如何使用Selenium和Python在跨度内的标签内获取文本?