<body>
<div id="container1"><div>
<div id="container2"><div>
</body>
有沒有辦法讓container1
和container2
之間的距離,在瀏覽器中呈現了之後?距離是指用戶在兩個元素之間看到的實際距離,無論是像素,英寸還是其他。
<body>
<div id="container1"><div>
<div id="container2"><div>
</body>
有沒有辦法讓container1
和container2
之間的距離,在瀏覽器中呈現了之後?距離是指用戶在兩個元素之間看到的實際距離,無論是像素,英寸還是其他。
這是非常依賴於平臺/瀏覽器,但您可以嘗試Selenium + PhantomJS。例如讓發現在main Wikipedia page兩個環節之間的距離:
安裝依賴:
npm -g install phantomjs
pip install selenium
的Python:
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.set_window_size(1024, 768)
driver.get('http://en.wikipedia.org/wiki/Main_Page')
main_page_link = driver.find_element_by_css_selector('#n-mainpage-description a')
help_link = driver.find_element_by_css_selector('#n-help a')
help_link.location['y'] - main_page_link.location['y']
# 159 px
使用Chrome/Firefox的等你只需要安裝相應的網絡驅動器和變化:
driver = webdriver.Chrome() # or
driver = webdriver.Firefox()
由於渲染差異的例子,爲Chrome瀏覽器的Mac我得到171px而在Firefox中我得到了164px。
不是沒有渲染引擎實際渲染DOM並將CSS應用到它。即使如此,如果用戶在他的瀏覽器中配置了大的默認字體大小呢?這可能會非常好地影響這兩個元素之間的距離,並且由於其他因素,每個用戶可能會略有不同。 – 2014-09-13 09:02:14
順便說一句,我結束了我自己的[庫](https://github.com/Pithikos/python-rectangles),因爲我需要更復雜的計算,例如找到兩個元素的最小距離對角**。我所做的就是將每個硒對象轉換爲我的庫中的矩形,然後簡單地獲取兩個矩形之間的距離。 – Pithikos 2015-01-21 10:08:46