如何修复Python Whle报废中的if语句

此其他声明有效一半!如果找不到网站和电话,它将键入N,N,但是问题是如果找到网站和电话 ,它也会在新行N,N中写“我不喜欢”

我需要这样的内容:如果找不到网站和电话,请键入N,N,并且如果找到网站和电话,请添加新行并添加第二个URL详细信息

错误:

找到网站和电话后,此脚本将键入N,N;未找到该脚本时,它将键入详细信息并添加新行并添加N,N

from selenium import webdriver 
import csv
import pandas
import itertools

with open("sans.csv",'r') as s:
    s.read()

driver = webdriver.Firefox()

url = 'https://www.yelp.com/biz/konomama-san-francisco?osq=Restaurants'

driver.get(url)
website_link = driver.find_elements_by_css_selector('.text--offscreen__373c0__1SeFX+ .link-size--default__373c0__1skgq')

phone = driver.find_elements_by_css_selector('.text--offscreen__373c0__1SeFX+ .text-align--left__373c0__2pnx_')

items = len(website_link)
with open("sans.csv",'a',encoding="utf-8") as s:
    for combination in itertools.zip_longest(website_link,phone):
        s.write(f'{combination[0].text if combination[0] else "N"},{combination[1].text if combination[1] else "N"}\n')
    else:
        s.write('N,N')

driver.close()

print("Done")
cy518598 回答:如何修复Python Whle报废中的if语句

您可以稍微修改代码并添加if条件,以检查combination是否存在:

with open("sans.csv",'a',encoding="utf-8") as s:
    for combination in itertools.zip_longest(website_link,phone):
        if combination:
            s.write(f'{combination[0] if combination[0] else "N"},{combination[1] if combination[1] else "N"}\n')
        else:
            s.write('N,N\n')
本文链接:https://www.f2er.com/3112665.html

大家都在问