python– 如何激活每个项目并解析其信息?

python– 如何激活每个项目并解析其信息?,第1张

概述我在使用python抓取网页时遇到了不同类型的问题.单击图像时,图像下会出现有关其“味道”的新信息.我的目标是解析连接到每个图像的所有风味.我的脚本可以解析当前活动图像的风格,但在单击新图像后会中断.我的循环中的一点点抽搐会引导我走向正确的方向.我尝试过:from selenium import webdriver from selenium.webdriv

我在使用python抓取网页时遇到了不同类型的问题.单击图像时,图像下会出现有关其“味道”的新信息.我的目标是解析连接到每个图像的所有风味.我的脚本可以解析当前活动图像的风格,但在单击新图像后会中断.我的循环中的一点点抽搐会引导我走向正确的方向.

我尝试过:

from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import webdriverwaitfrom selenium.webdriver.support import expected_conditions as ECdriver = webdriver.Chrome()driver.get("https://www.optigura.com/uk/product/gold-standard-100-whey/")wait = webdriverwait(driver,10)while True:    items = wait.until(EC.presence_of_element_located((By.XPATH,"//div[@class='colright']//ul[@class='opt2']//label")))    for item in items.find_elements_by_xpath("//div[@class='colright']//ul[@class='opt2']//label"):        print(item.text)    try:        links = driver.find_elements_by_xpath("//span[@class='img']/img")        for link in links:            link.click()    except:        breakdriver.quit() 

下面的图片可能会澄清我无法做到的事情:

最佳答案我调整了代码以正确点击链接并检查当前列出的项目的文本是否与活动列出项目的文本匹配.如果它们匹配,您可以安全地继续解析而不必担心您一遍又一遍地解析相同的事情.干得好:

from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import webdriverwaitfrom selenium.webdriver.support import expected_conditions as ECdriver = webdriver.Chrome()driver.get("https://www.optigura.com/uk/product/gold-standard-100-whey/")wait = webdriverwait(driver,10)links = driver.find_elements_by_xpath("//span[@class='img']/img")for IDx,link in enumerate(links):    while True:        try:            link.click()            while driver.find_elements_by_xpath("//span[@class='size']")[IDx].text != driver.find_elements_by_xpath("//div[@class='colright']//li[@class='active']//span")[1].text:                link.click()            print driver.find_elements_by_xpath("//span[@class='size']")[IDx].text            items = wait.until(EC.presence_of_element_located((By.XPATH,"//div[@class='colright']//ul[@class='opt2']//label")))            for item in items.find_elements_by_xpath("//div[@class='colright']//ul[@class='opt2']//label"):            print(item.text)        except StaleElementReferenceException:            continue        breakdriver.quit()
总结

以上是内存溢出为你收集整理的python – 如何激活每个项目并解析其信息?全部内容,希望文章能够帮你解决python – 如何激活每个项目并解析其信息?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1206091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存