모든 하위 요소 가져오기
Python과 함께 Selenium에서 WebElement의 모든 자식을 목록으로 가져올 수 있습니까?
네, 당신은 그것을 성취할 수 있습니다.find_elements_by_css_selector("*")
또는find_elements_by_xpath(".//*")
.
그러나 이것은 요소의 모든 자식을 찾는 데 유효한 사용 사례처럼 들리지 않습니다.모든 직접/간접적인 아이들을 얻는 것은 비용이 많이 드는 수술입니다.당신이 무엇을 하려고 하는지 더 설명해 주세요.더 좋은 방법이 있을 겁니다.
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.stackoverflow.com")
header = driver.find_element_by_id("header")
# start from your target element, here for example, "header"
all_children_by_css = header.find_elements_by_css_selector("*")
all_children_by_xpath = header.find_elements_by_xpath(".//*")
print 'len(all_children_by_css): ' + str(len(all_children_by_css))
print 'len(all_children_by_xpath): ' + str(len(all_children_by_xpath))
예, 사용할 수 있습니다.find_elements_by_
하위 요소를 목록으로 가져옵니다.여기에서 파이썬 바인딩을 참조하십시오. http://selenium-python.readthedocs.io/locating-elements.html
예: HTML:
<ul class="bar">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
사용할 수 있습니다.find_elements_by_
이와 같이:
parentElement = driver.find_element_by_class_name("bar")
elementList = parentElement.find_elements_by_tag_name("li")
특정 사례에 대한 도움말이 필요한 경우, 부모 및 자식 요소를 가져올 HTML을 사용하여 게시물을 편집할 수 있습니다.
2022년에는selenium==4.2.0
@리처드의 답변은 다음과 같이 다시 작성해야 합니다.
from selenium.webdriver.common.by import By
parentElement = driver.find_element(By.CLASS_NAME,"bar")
elementList = parentElement.find_elements(By.TAG_NAME,"li")
의 또 다른 변형find_elements_by_xpath(".//*")
다음과 같습니다.
from selenium.webdriver.common.by import By
find_elements(By.XPATH, ".//*")
사용할 수 있습니다.get_attribute
그리고.BeautifulSoup
html_str = el.get_attribute('innerHTML')
bs = BeautifulSoup(html_str, 'lxml')
사용할 수 없습니다.
all_children_by_css = header.find_elements_by_css_selector("*")
이제 사용해야 합니다.
all_children_by_css = header.find_elements(By.CSS_SELECTOR, "*")
언급URL : https://stackoverflow.com/questions/24795198/get-all-child-elements
'programing' 카테고리의 다른 글
부트스트랩 입력 포커스 파란색 표시 변경 (0) | 2023.08.12 |
---|---|
Angular 'ngOnInit'의 비동기/대기 (0) | 2023.08.12 |
"git checkout"과 "git checkout"의 차이 -- (0) | 2023.08.12 |
저장() 전에 스프링 데이터 JPA가 SELECT를 수행하지 않도록 하려면 어떻게 해야 합니까? (0) | 2023.08.12 |
양식 내부 단추를 누를 때 페이지 새로 고침을 방지하려면 어떻게 해야 합니까? (0) | 2023.08.12 |