繁体   English   中英

Python - Selenium 下一页有条件

[英]Python - Selenium Next Page with condition

我对 python 很陌生,我有一个有 50 页的网页。 每个页面有 50 个用户。 我需要在一个又一个页面上多选用户,然后单击下载数据。 有一个限制,我一次只能下载 500 个用户的数据。 所以我需要在前 10 页中多选用户然后下载他们的数据,然后在接下来的 10 页中多选用户然后下载等等。

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

class Runtest():
    def test(self):
        driver_location = 'C:\\chromedriver.exe'
        os.environ["webdriver.chrome.driver"] = driver_location
        driver = webdriver.Chrome(driver_location)
        driver.get("http://example.com/")

        Next_Page = "XPATH"
        Multi_Select = "XPATH2"
        Download_Data = "XPATH3"
       driver.find_element_by_xpath(Multi_Select).click()
       driver.find_element_by_xpath(Next_Page).click()
       driver.find_element_by_xpath(Download_Data).click()

希望获得有关如何完成该条件的一些指导。

我有一种可能对您有用的方法,您可以随时根据需要创建 for 循环或 while 循环。 由于您希望一次获得 500 个用户,您可以检查两个页面链接之间的差异并根据它放置值。 在大多数情况下 url 的差异总是根据页码,所以请参考代码并提供真实网站的完整链接或更改名称如果它是机密的。

values = list(range(1,10))
list = ['https://www.example.com?page=' + str(i) for i in values ]

for i in list:
    driver.get(i)
    select_all =  driver.find_element_by_xpath(Multi_Select).click()
    download_data = driver.find_element_by_xpath(Download_Data).click()

在这里,它会下载用户数据,当超过它会出错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM