inflearn logo
강의

Course

Instructor

Free Python Course (Usage Part 3) - Web Scraping (5 hours)

Using BeautifulSoup4 1-2

soup으로 검색한 버튼 또는 text를 click할때 어떻게 하나요 ?

3561

love2you7129

1 asked

1

webdriver의 find_element로 찾은 경우 .click()을 붙여주면 click이 되는데, soup으로 찾은 경우 .click()을 붙여주면 오류가 발생하네요.

click을 하려면 find_element를 써야 할까요? soup으로 찾은 객체는 click을 할 수 없을까요?

python 웹-크롤링 selenium 웹-스크래핑

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴이에요.

BeautifulSoup로 찾은 객체는 .click()을 사용할 수 없습니다. .click() 메소드는 Selenium에서 제공하는 메소드로, WebElement 객체에서만 사용할 수 있습니다.

따라서, BeautifulSoup로 찾은 태그에서 클릭 이벤트를 발생시키려면 Selenium WebDriver의 find_element 메소드를 사용하여 WebElement 객체를 얻은 후에 .click() 메소드를 사용해야 합니다.

예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

from selenium import webdriver
from bs4 import BeautifulSoup

chrome_driver_path = 'chromedriver.exe'
browser = webdriver.Chrome(chrome_driver_path)

url = 'https://example.com'
browser.get(url)

soup = BeautifulSoup(browser.page_source, 'html.parser')
button = soup.find('button')
webdriver_element = browser.find_element_by_tag_name(str(button.name))
webdriver_element.click()

위 코드에서 soup 변수에 저장된 BeautifulSoup 객체에서 버튼 태그를 찾은 후, 이 태그를 find_element_by_tag_name 메소드를 사용하여 WebElement 객체로 변환하였습니다. 이후 .click() 메소드를 사용하여 원하는 클릭 이벤트를 발생시킬 수 있습니다.

참고로, 웹 페이지가 동적으로 로딩되는 경우, browser.page_source 메소드를 사용하여 현재 페이지의 소스코드를 가져올 때, 동적으로 로딩되는 부분은 포함되지 않을 수 있습니다. 이런 경우, browser 객체에서 다른 메소드를 사용하여 해당 영역을 불러온 후, BeautifulSoup으로 파싱하여 버튼을 찾아주어야 합니다.

selenium 업그레이드됨... 문법도 바뀜

1

286

1

2024.08.28 수요일 기준 날씨 정보 가져오기 소스코드입니다 (참고하세요 : ) )

0

230

1

24년, 부동산 퀴즈 코드입니다. 참고하세요!!

0

177

1

git hub에 push할때 user-agent가 노출되도 상관이 없나요 ?

0

185

1

selenium 관련 web push notification 제어 질문

0

569

1

print(soup.a) 태그 값이 None으로 나옵니다.

0

1177

4

웹툰 사이트 body 안에가 안불러져옵니다.

0

677

2

네이버 웹툰을 활용한 BeautifulSoup 강좌에서 인터페이스가 달라졌습나다.

0

993

1

구글 무비 강좌에서요

0

399

0

네이버 IT뉴스 화면 requets.get 에러가 발생합니다ㅜ

0

432

0

23년 2월 7일, 다음 부동산 화면이 다름

0

404

0

네이버 항공권 관련 제가 작성한 코드 조심스럽게 공유해드립니다.ㅜ

7

2525

2

bs4 활용 2-1 질문합니다.

0

505

2

csv파일 깨짐

0

313

0

url 에러? (\UXXXXXXXX escape)

0

310

0

네이버 쇼핑으로 하면 왜 결과가 안 뜰까요?

0

380

0

쿠팡대신 네이버 쇼핑에서하는데, 5개 아이템만 나옵니다.

0

366

0

쿠팡 requests에 오류가 생기네요

0

2905

1

URL 문제

0

389

0

request 설치

0

315

0

from selenium import webdriver ?

0

348

1

네이버웹툰 랭크가 안불러져요...;;

0

299

0

안녕하세요 에러문의드려요

0

216

0

안녕하세요 오류해결부탁드립니다

0

336

0