我在 Java 中使用 Selenium 网络服务器,以便自动化许多网页。
例如:
WebDriver driver = new FirefoxDriver();
driver.get(url);
WebElement element = driver.findElement(By.id("some_id"));
如何获取元素
的绝对位置?
在 Javascript 中,我可以获得 DOM 中任何元素的 offsetTop
和 offsetLeft
值:
var element = document.getElementById("some_id");
var offsetTop = element.offsetTop;
var offsetLeft = element.offsetLeft;
所以首先想到的是用JavascriptExecutor
调用上面的脚本。
但我想避免这种情况。有没有其他方法可以用 Selenium 获取这些值?
谢谢
最佳答案
在 Python 中,这将获取 Web 元素的顶部偏移量:
driver = webdriver.Chrome()
driver.get(url)
element = driver.find_element_by_id('some_id')
offset_top = element.get_attribute('offsetTop')
因为两者都使用 Selenium,所以在 Java 中等效的是(未经测试):
WebDriver driver = new FirefoxDriver();
driver.get(url);
WebElement element = driver.findElement(By.id("some_id"));
int offsetTop = element.getAttribute("offsetTop");
关于java - 使用 Selenium 网络驱动程序获取元素的绝对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21461347/