

**前提・実現したいこと**  
python:seleniumを使って  
Excelから繰り返しデータを読み、[Twitter](https://twitter.com/search-
advanced?lang=jp)で複数のデータを検索したいです。  
C列に都市2つ以上ある場合、Twitterで下記のように検索したいです。

### Excel データ

No | 国 | 都市  
---|---|---  
1 | アメリカ | ロスアンゼルス、ニューヨーク、カリフォルニア  
2 | 日本 | 東京、京都  
3 | オーストラリア | シドニー  
  
### 検索したい順番

[code]

    アメリカ ロスアンゼルス、ニューヨーク、カリフォルニア →１回目のループで検索したい内容
    日本 東京、京都 →2回目のループで検索したい内容
    オーストラリア シドニー →3回目のループで検索したい内容
    
[/code]

都市2つ以上がある場合、カンマで区切って、下記のように検索したいです。

[code]

    　　　　　　　　#国b列の次のキーワードを全て含むへ入力
        #例アメリカ入力
        country = driver.find_element_by_name("allOfTheseWords")
        country.send_keys(b)
        
        # 2秒待機
        time.sleep(2)
    
        #都市c列を次のキーワード全体を含むへ入力
        #例ロスアンゼルス入力
        city = driver.find_element_by_name("thisExactPhrase")
        city.send_keys(c)
    
        #都市c列２つ以上がある場合
        #都市c列を次のキーワードのいずれかを含むへ入力
        #ニューヨーク入力
        if list>list[1]:
         city = driver.find_element_by_name("anyOfTheseWords")
         city.send_keys(list[1])
    
        #都市c列3つ以上がある場合
        #都市c列を次のキーワードを含まないへ入力
        #カリフォルニア入力
        if list>list[2]:
         city = driver.find_element_by_name("noneOfTheseWords")
         city.send_keys(list[2])
    
[/code]

現在、Twitterで下記のように検索しています。  
③でTypeErrorエラーされます。また②には **ロスアンゼルス、ニューヨーク、カリフォルニア** 全ての都市が入力されます。  
カンマで区切ってロスアンゼルスのみ入力したいです。

[code]

    ①次のキーワードを全て含むへ入力
    アメリカ入力
    
    ②次のキーワード全体を含むへ入力
    ロスアンゼルス、ニューヨーク、カリフォルニア　
    
    ③次のキーワードのいずれかを含むへ入力
    エラー
    if list>list[1]:
    TypeError: '>' not supported between instances of 'list' and 'str
    
[/code]

全体コード

[code]

    # Excel用ライブラリ読込
    import openpyxl
    from selenium.webdriver.common.keys import Keys
    import time
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.support.select import Select  
    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium.webdriver.common.keys import Keys
    
    # Excelファイルを開く
    v_wb=openpyxl.load_workbook("twitter.xlsx")
    
    # アクティブなシートを変数へ
    v_ws = v_wb.active
    # シートのロード
    ws = v_wb.worksheets[0]
    
    # ブラウザを開く。 #options=option background 
    driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
    
    #TWITTER URL
    URL= "https://twitter.com/search-advanced?lang=jp"
    
    # Googleの検索TOP画面を開く。
    driver.get(URL)
    
    
    #2行目からループを行う
    for i in range(2,v_ws.max_row+1):
    
        #国b列を読み込む
        b = v_ws['b'+str(i)].value
    
        #都市c列を読み込む
        c = v_ws['c'+str(i)].value
        print(b)
    
        #都市をカンマ区切りの文字リスト化
        list = c.split('、')
        print(list)
    
        # 2秒待機
        time.sleep(2)
    
        #国b列の次のキーワードを全て含むへ入力
        #例アメリカ入力
        country = driver.find_element_by_name("allOfTheseWords")
        country.send_keys(b)
        
        # 2秒待機
        time.sleep(2)
    
        #都市c列を次のキーワード全体を含むへ入力
        #例ロスアンゼルス入力
        city = driver.find_element_by_name("thisExactPhrase")
        city.send_keys(c)
    
        #都市c列２つ以上がある場合
        #都市c列を次のキーワードのいずれかを含むへ入力
        #ニューヨーク入力
        if list>list[1]:
         city = driver.find_element_by_name("anyOfTheseWords")
         city.send_keys(list[1])
    
        #都市c列3つ以上がある場合
        #都市c列を次のキーワードを含まないへ入力
        #カリフォルニア入力
        if list>list[2]:
         city = driver.find_element_by_name("noneOfTheseWords")
         city.send_keys(list[2])
    
        #検索
        time.sleep(2)
        city.send_keys(Keys.ENTER)
    #ここまでを繰り返し --------------------------------------------------------------------
    
[/code]

補足情報（Python/ツールのバージョンなど）  
Python3.9.5/Windows10を利用しています。

もしわかる方いれば、教えていただけるとありがたいです。  
よろしくお願いいたします。


CC BY-SA 4.0
2022-01-06T03:58:36.417
85511
2022-01-10T02:59:36.890
18859
question
python3 selenium selenium-webdriver
seleniumを使ってTwitterのキーワードを複数検索したい


リストの要素を取得して実現したい内容できました。  
listの要素数を調べてサイズが0以上であれば、Twitterへ入力していきます。

参考URL：[[Python]
listが空かどうか判定する方法2つ](https://qiita.com/yonedaco/items/d0f65ca3dad2e085a51d)

[code]

    if len(list)>0:
     print("リスト0要素より大き場合")
     #都市b列を次のキーワード全体を含むへ入力
     city = driver.find_element_by_name("thisExactPhrase")
     city.send_keys(list[0])
    
    if len(list)>1:
     print("リスト１要素より大き場合")
     #都市b列複数がある場合
     #都市b列を次のキーワードのいずれかを含むへ入力
     city = driver.find_element_by_name("anyOfTheseWords")
     city.send_keys(list[1])
    
[/code]


CC BY-SA 4.0
2022-01-10T02:59:36.890
85593
2022-01-10T02:59:36.890
18859
85511
answer