セレンは初めてです。ウェブサイトを検索すると、各ページごとに10の結果が得られます。これらの結果は、ページにリスト(liタグ)として表示され、各リストには同じ属性が含まれています。私の条件が満たされたら、別の関連Webページに行き、必要なコンテンツを入手します。しかし、私のコードがリストのためにループし続けると、他のものと同じ属性を見つけることができません。ここに私のコードは次のとおりです。このコードでセレンは1つの結果のみを擦り込み、他の関連する結果を無視します
p_url = "https://www.linkedin.com/vsearch/f?keywords=BARCO%2BNV%2Bkortrijk&pt=people&page_num=5"
driver.get(p_url)
time.sleep(5)
results = driver.find_element_by_id("results-container")
employees = results.find_elements_by_tag_name('li')
#emp_list = []
#for i in range(len(employees)):
# emp_list.append(employees[i])
for emp in employees:
try:
main_emp = emp.find_element_by_css_selector("a.title.main-headline")
name = emp.find_element_by_css_selector("a.title.main-headline").text
href = main_emp.get_attribute("href")
if name != "LinkedIn Member":
location = emp.find_element_by_class_name("demographic").text
href = main_emp.get_attribute("href")
print(href)
print(location)
driver.get(href)
exp = driver.find_element_by_id("background-experience")
amkk = exp.find_elements_by_class_name("editable-item")
for amk in amkk:
him = amk.find_element_by_tag_name("header").text
him2 = amk.find_element_by_class_name("experience-date-locale").text
if '\n' in him:
a = him.split('\n')
print(a[0])
print(a[1])
print(him2)
except Exception as exc:
print(exc)
continue
それは初めてのために働くの後行main_emp = emp.find_element_by_css_selector("a.title.main-headline")
ストップが作動します。結果として私はMessage: stale element reference: element is not attached to the page document
からエラーが出ました。私は、コンテンツがDOM構造から削除され、誰かが結果をリストに記入することを提案した投稿から削除されたと言いました。ここで私が試したのはemp_list = [] for i in range(len(employees)): emp_list.append(employees[i])
ですが、うまくいきませんでした。
どうすればこの問題を解決できますか?
あなたが使用しているHTMLを共有できるを使用する必要がありますか?私はあなたが行くページをチェックしました。結果コンテナ 'div 'に行くと、この要素の直接の子である単一の' li'はありませんが、それは最初の従業員には当てはまると言います。 – RemcoW