gpt4 book ai didi

java - 使用 Selenium 网络驱动程序获取元素的绝对位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:33 25 4
gpt4 key购买 nike

我在 Java 中使用 Selenium 网络服务器,以便自动化许多网页。

例如:

WebDriver driver = new FirefoxDriver();
driver.get(url);
WebElement element = driver.findElement(By.id("some_id"));

如何获取元素的绝对位置?

在 Javascript 中,我可以获得 DOM 中任何元素的 offsetTopoffsetLeft 值:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com