如何使用python selenium在单个循环中迭代多个元素

如何使用python selenium在单个循环中迭代多个元素,python,python-3.x,selenium,for-loop,webdriver,Python,Python 3.x,Selenium,For Loop,Webdriver,下面的代码运行良好,但我使用了多个循环。是否可以使其成为一个循环来获取所有数据 多循环代码: 完整代码: 它仍然是多个循环,但列表理解更为简洁: mobile_link += [ post.get_attribute("href") for post in driver.find_elements_by_class_name("_1UoZlX") ] mobile_name += [ post1.text for post1 in driver.find_elements_by_class_na

下面的代码运行良好,但我使用了多个循环。是否可以使其成为一个循环来获取所有数据

多循环代码:

完整代码:


它仍然是多个循环,但列表理解更为简洁:

mobile_link += [ post.get_attribute("href") for post in driver.find_elements_by_class_name("_1UoZlX") ]
mobile_name += [ post1.text for post1 in driver.find_elements_by_class_name("_3wU53n") ]
offer_price += [ post2.text for post2 in driver.find_elements_by_css_selector("._1vC4OE._2rQ-NK") ]
你想要单圈的原因是什么?似乎它们是不相关的元素。

如果你看到这些网站,我想获得敲定价格(文本装饰:线通过;)一些时间价值将存在一些时间价值将不存在。我将所有信息放入数组中,如移动链接、移动名称等。。当我试图得到罢工的价值是给予指数超出范围的问题。问题是
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
import time
import csv
chrome_path = r"C:\Users\Venkatesh\AppData\Local\Programs\Python\Python35\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
RegionIDArray = ["https://www.flipkart.com/mobiles/pr?otracker=categorytree&page=1&sid=tyy%2C4io", "https://www.flipkart.com/mobiles/pr?otracker=categorytree&page=2&sid=tyy%2C4io"]
mobile_link = []
mobile_name = []
offer_price = []
actual_price = []
data_list=[]
delay = 10 # seconds

for reg in RegionIDArray:
    try:
        driver.get(reg)
        WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.XPATH, "//*[@id='container']/div/div[2]/div[2]/div/div[2]/div/div[3]/div[1]/div/div[1]")))
        driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        print("Page is ready")

        for post in driver.find_elements_by_class_name("_1UoZlX"):
            mobile_link += [ post.get_attribute("href") ]

        for post1 in driver.find_elements_by_class_name("_3wU53n"):
            mobile_name += [ post1.text ]

        for post2 in driver.find_elements_by_css_selector("._1vC4OE._2rQ-NK"):
            offer_price += [ post2.text ]

        time.sleep(10)     
    except TimeoutException:
        print("Loading took too much time")
driver.quit()
mobile_link += [ post.get_attribute("href") for post in driver.find_elements_by_class_name("_1UoZlX") ]
mobile_name += [ post1.text for post1 in driver.find_elements_by_class_name("_3wU53n") ]
offer_price += [ post2.text for post2 in driver.find_elements_by_css_selector("._1vC4OE._2rQ-NK") ]