私は、Webページのいくつかのランダムなテキストを検索するコードブロックを作成しました。このウェブページには複数のタブがあり、セレンを使ってナビゲートしています。ここで私が探しているテキストが特定のページで修正されていないという問題があります。テキストは、Webページの任意のタブに置くことができます。テキストが見つからない場合は例外が発生します。例外が発生した場合は、次のタブに移動して検索する必要があります。私は例外を扱う際の困難に直面している。美しい石鹸/ Pythonでの例外処理
以下は、私が試しているコードです。
import requests
from bs4 import BeautifulSoup
import re
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.yxx.com/71463001")
a = driver.page_source
soup = BeautifulSoup(a, "html.parser")
try:
head = soup.find_all("div", {"style":"overflow:hidden;max-height:25px"})
head_str = str(head)
z = re.search('B00.{7}', head_str).group(0)
print z
print 'header'
except AttributeError:
g_info = soup.find_all("div", {"id":"details_readonly"})
g_info1=str(g_info)
x = re.search('B00.{7}', g_info1).group(0)
print x
print 'description'
except AttributeError:
corre = driver.find_element_by_id("tab_correspondence")
corre.click()
corr_g_info = soup.find_all("table", {"id" : "correspondence_view"})
corr_g_info1=str(corr_g_info)
print corr_g_info
y = re.search('B00.{7}', corr_g_info1).group(0)
print y
print 'correspondance'
私はこのコードを実行すると、私はあなたが何も含まれていませんre.searchオブジェクトのグループを呼び出しているので、あなたがそのエラーを取得している
error Traceback (most recent call last):
File "C:\Python27\BS.py", line 21, in <module>
x = re.search('B00.{7}', g_info1).group(0)
AttributeError: 'NoneType' object has no attribute 'group'
ありがとうございます。ネストされたtry catchを追加すると動作します。 –