Hướng dẫn selenium get full html of page - selen nhận html đầy đủ của trang

Tôi đang sử dụng selenium để nhấp vào trang web tôi muốn, và sau đó phân tích trang web bằng cách sử dụng Beautiful Soup.

Ai đó đã chỉ ra cách có được HTML bên trong của một phần tử trong Selenium WebDriver. Có cách nào để có được HTML của toàn bộ trang không? Cảm ơn

Mã mẫu trong Python (dựa trên bài đăng trên, ngôn ngữ dường như không quá nhiều):

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup


url = 'http://www.google.com'
driver = webdriver.Firefox()
driver.get(url)

the_html = driver---somehow----.get_attribute('innerHTML')
bs = BeautifulSoup(the_html, 'html.parser')

Hướng dẫn selenium get full html of page - selen nhận html đầy đủ của trang

Đã hỏi ngày 10 tháng 3 năm 2016 lúc 0:42Mar 10, 2016 at 0:42

Để có được HTML cho toàn bộ trang:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://stackoverflow.com")

html = driver.page_source

Để có được HTML bên ngoài (bao gồm thẻ):

# HTML from ``
html = driver.execute_script("return document.documentElement.outerHTML;")

# HTML from ``
html = driver.execute_script("return document.body.outerHTML;")

# HTML from element with some JavaScript
element = driver.find_element_by_css_selector("#hireme")
html = driver.execute_script("return arguments[0].outerHTML;", element)

# HTML from element with `get_attribute`
element = driver.find_element_by_css_selector("#hireme")
html = element.get_attribute('outerHTML')

Để có được HTML bên trong (loại trừ thẻ):

# HTML from ``
html = driver.execute_script("return document.documentElement.innerHTML;")

# HTML from ``
html = driver.execute_script("return document.body.innerHTML;")

# HTML from element with some JavaScript
element = driver.find_element_by_css_selector("#hireme")
html = driver.execute_script("return arguments[0].innerHTML;", element)

# HTML from element with `get_attribute`
element = driver.find_element_by_css_selector("#hireme")
html = element.get_attribute('innerHTML')

Đã trả lời ngày 10 tháng 3 năm 2016 lúc 0:59Mar 10, 2016 at 0:59

Florent B.Florent B.Florent B.

40,5K7 Huy hiệu vàng82 Huy hiệu bạc100 Huy hiệu đồng7 gold badges82 silver badges100 bronze badges

1

Đã trả lời ngày 29 tháng 10 năm 2019 lúc 18:07Oct 29, 2019 at 18:07

Hướng dẫn selenium get full html of page - selen nhận html đầy đủ của trang

Karthikdivikarthikdivikarthikdivi

3.2793 huy hiệu vàng25 Huy hiệu bạc45 Huy hiệu đồng3 gold badges25 silver badges45 bronze badges

2

Sử dụng đối tượng trang trong Java:

    @FindBy(xpath = "xapth")
    private WebElement element;

    public String getInnnerHtml() {
        System.out.println(waitUntilElementToBeClickable(element, 10).getAttribute("innerHTML"));
        return waitUntilElementToBeClickable(element, 10).getAttribute("innerHTML")
    }

Hướng dẫn selenium get full html of page - selen nhận html đầy đủ của trang

kohane15

69312 Huy hiệu bạc15 Huy hiệu đồng12 silver badges15 bronze badges

Đã trả lời ngày 24 tháng 8 năm 2017 lúc 9:16Aug 24, 2017 at 9:16

Một đoạn trích C# cho những người trong chúng ta có thể muốn sao chép / dán một chút mã làm việc vào một ngày nào đó

var element = yourWebDriver.FindElement(By.TagName("html"));
string outerHTML = element.GetAttribute(nameof(outerHTML));

Cảm ơn những người đã trả lời trước tôi. Bất cứ ai trong tương lai, những người được hưởng lợi từ đoạn C# này nhận HTML cho bất kỳ yếu tố trang nào trong bài kiểm tra selenium, vui lòng xem xét bỏ phiếu câu trả lời này hoặc để lại nhận xét.

Hướng dẫn selenium get full html of page - selen nhận html đầy đủ của trang

kohane15

69312 Huy hiệu bạc15 Huy hiệu đồng12 silver badges15 bronze badges

Đã trả lời ngày 24 tháng 8 năm 2017 lúc 9:16Aug 27, 2021 at 18:00

Làm thế nào để tôi có được tất cả HTML trong selenium?

Nhận nguồn Webelement HTML trong selenium webdriver bằng Python ...
Cú pháp. s = Element.get_attribution ('InternalHtml') ....
Cú pháp. s = driver.find_element_by_id ("txt-search") trình điều khiển.execute_script ("trả về đối số [0] .innerhtml;", s) ....
Thí dụ. Thực hiện mã với get_attribute. ....
Đầu ra. Debomita Bhattacharjee ..

Làm cách nào để nhận được trang đầy đủ trong selenium?

Để có được văn bản của hiển thị trên trang, chúng ta có thể sử dụng phương thức FindEuity (by.tagname ()) để giữ phương thức.use the method findElement(By. tagname()) method to get hold of . Next can then use the getText() method to extract text from the body tag.

Làm cách nào để nhận được nguồn HTML của một trang?

Bạn có thể đọc thuộc tính bên trong để lấy nguồn nội dung của phần tử hoặc bên ngoài cho nguồn với phần tử hiện tại.JavaScript: Phần tử.getAttribution ('innerhtml');

Làm cách nào để có được một nguồn trang đầy đủ?

Trong khi giữ phím CTRL, hãy nhấn phím U U U.)Edge/Internet Explorer: Ctrl + U. hoặc nhấp chuột phải và chọn Nguồn xem..) Alternatively, you can go to the “Firefox” menu and then click on “Web Developer,” and then “Page Source.” Edge/Internet Explorer: CTRL + U. Or right click and select “View Source.”