Python과 함께 Selenium 모듈을 사용하여 변수에서 HTML 소스를 얻으려면 어떻게 해야합니까?
다음과 같이하고 싶었습니다.
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com")
if "whatever" in html_source:
# Do something
else:
# Do something else
어떻게 할 수 있습니까? HTML 소스에 액세스하는 방법을 모르겠습니다.
답변
다음 page_source
속성 에 액세스해야 합니다.
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com")
html_source = browser.page_source
if "whatever" in html_source:
# do something
else:
# do something else
답변
Selenium2Library를 사용하면 다음을 사용할 수 있습니다. get_source()
import Selenium2Library
s = Selenium2Library.Selenium2Library()
s.open_browser("localhost:7080", "firefox")
source = s.get_source()
답변
driver.page_source 는 페이지 소스 코드를 얻는 데 도움이됩니다. 페이지 소스에 텍스트가 있는지 여부를 확인할 수 있습니다.
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("some url")
if "your text here" in driver.page_source:
print('Found it!')
else:
print('Did not find it.')
페이지 소스를 변수에 저장하려면 driver.get 뒤에 아래 줄을 추가하십시오 .
var_pgsource=driver.page_source
if 조건을 다음으로 변경하십시오 .
if "your text here" in var_pgsource:
답변
페이지 소스를 사용하면 전체 HTML 코드를 얻을 수 있습니다.
따라서 먼저 데이터를 검색하거나 요소를 클릭하는 데 필요한 코드 또는 태그 블록을 결정합니다.
options = driver.find_elements_by_name_("XXX")
for option in options:
if option.text == "XXXXXX":
print(option.text)
option.click()
이름, XPath, ID, 링크 및 CSS 경로로 요소를 찾을 수 있습니다.
답변
urllib에 사용할 URL 을 가져 오는 것에 대한 질문에 답하려면 다음 JavaScript 코드를 실행하십시오.
url = browser.execute_script("return window.location;")
답변
단순히 WebDriver
개체 를 사용하고 해당 @property
필드 를 통해 페이지 소스 코드에 액세스 할 수 있습니다 page_source
.
이 코드 스 니펫을 사용해보십시오 🙂
from selenium import webdriver
driver = webdriver.Firefox('path/to/executable')
driver.get('https://some-domain.com')
source = driver.page_source
if 'stuff' in source:
print('found...')
else:
print('not in source...')
답변
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome()
html_source_code = driver.execute_script("return document.body.innerHTML;")
html_soup: BeautifulSoup = BeautifulSoup(html_source_code, 'html.parser')
이제 BeautifulSoup 기능을 적용하여 데이터를 추출 할 수 있습니다.