###したいこと
検索をして、結果のあるなしで分岐をしようと考えています。
ヒット件数
0 : 検索クエリを変更
1 : クリック
2以上 : 絞り込む処理
###コード
python
1 for title, author in zip(title_query, author_query): 2 query = title+' '+author 3 driver.get(url+query) 4 5 WebDriverWait(driver, 10).until( 6 EC.presence_of_all_elements_located # 待機処理 7 ) 8 9 link_list = [] 10 11 try: 12 items = driver.find_elements_by_class_name('preview_data') # ヒットするか 13 if len(items) == 1: # ヒットが一つだった場合 # hrefを取得 14 links = driver.find_elements(By.CSS_SELECTOR, '.preview_container' 15 ' > div a').get_attribute("href") 16 link_list.append(links) 17 elif len(items) == 0: # ヒット0のとき例外発生 18 raise Exception 19 else: # ヒット2以上 20 # 絞り込み 21 except Exception: # ヒットなしのときに検索条件を変える 22 traceback.print_exc() 23 query = author 24 driver.get(url+query) 25 26 time.sleep(5)
###問題点
ヒット件数が一つだった場合もexceptの処理が行われています。
###環境
python3.7.4
プログラミング初心者です。もし、より良い書き方などもありましたらご教授していただければ幸いです。
回答1件
あなたの回答
tips
プレビュー