如何修复Python中的If语句

如何修复Python中的If语句,python,selenium,if-statement,web-scraping,selenium-chromedriver,Python,Selenium,If Statement,Web Scraping,Selenium Chromedriver,这个Else语句起了一半作用!如果未找到网站和电话,则会键入N,N,但问题是如果网站和电话已找到则也会使用新行N,N,我不喜欢这样 我需要这样的东西:如果网站和电话找不到类型N,N和如果网站和电话找到添加新行添加第二个URL详细信息 错误: 此脚本在找到网站和电话时键入N,N,当未找到时,它将键入详细信息并生成新行并添加N,N from selenium import webdriver import csv import pandas import itertools with open(

这个Else语句起了一半作用!如果未找到网站和电话,则会键入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")

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

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')