Python Для L oop Распечатать выписку - PullRequest
1 голос
/ 05 марта 2020
from selenium import webdriver
import time


def test_setup():
    global driver
    driver = webdriver.Chrome(executable_path="C:/ChromeDriver/chromedriver.exe")
    driver.implicitly_wait(5)
    driver.maximize_window()
    time.sleep(5)


    siteUrls = ["https://www.espncricinfo.com/", "https://www.t20worldcup.com/","https://www.iplt20.com/"]

    for url in siteUrls:
        openSite(url)

def openSite(siteUrl):
    driver.get(siteUrl)
    time.sleep(5)
    print("ESPN website is launched successfully")


def test_teardown():
    driver.close()
    driver.quit()

Выше мой код, он отлично работает, мой вопрос, он печатает ту же инструкцию, что и выходные данные для всех 3 URL-адресов, но я хочу, чтобы он печатал, 3 разных оператора

например - я хочу получить ожидаемый результат ниже

ESPN website is launched successfully
IPL website is launched successfully
world-cup site is launched successfully

But, currently I get output as below ( same statement repeated 3 times)
ESPN website is launched successfully
ESPN website is launched successfully
ESPN website is launched successfully

Ответы [ 4 ]

1 голос
/ 05 марта 2020
def openSite(siteUrl):
    driver.get(siteUrl)
    time.sleep(5)

    # Split the url at the period and get index 1 from list that contains site name
    site_name = siteUrl.split('.')[1]
    print(site_name + " website is launched successfully")

#output:
#>> espncricinfo website is launched successfully
#>> t20worldcup website is launched successfully
#>> iplt20website is launched successfully
1 голос
/ 05 марта 2020

У вас нет аргументов в вашем заявлении на печать. Вот почему вы всегда получаете один и тот же результат. Вот возможное решение:

def openSite(siteUrl):
    driver.get(siteUrl)
    time.sleep(5)
    print(siteUrl, "is launched successfully")
1 голос
/ 05 марта 2020

Вам необходимо указать соответствующее имя в качестве второго аргумента для openSite. Например,

    ...

    siteUrls = [
        ("ESPN", "https://www.espncricinfo.com/"),
        ("world-cup", "https://www.t20worldcup.com/"),
        ("IPL", "https://www.iplt20.com/")
    ]

    for name, url in siteUrls:
        openSite(name, url)


def openSite(name, siteUrl):
    driver.get(siteUrl)
    time.sleep(5)
    print(f"{name} website is launched successfully")
0 голосов
/ 05 марта 2020

Вам нужно что-то передать в ваше заявление на печать. Например

print(f"{siteUrl} launched")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...