ai didi

selenium - 不同浏览器的xpath是否不同?

转载 作者:行者123 更新时间:2023-12-02 19:17:10 24 4
gpt4 key购买 nike

我遇到了一个非常有趣的问题。我有一个 xpath,通过它我可以检索值。

例如。

System.out.print(driver.findElement(By.xpath("//*[@id='error-box']/ul/li")).getText().toString());

在 Firefox 和 Chrome 中,它给出相同的文本,而在 IE 中,它给出不同的文本。

各种浏览器的 xpath 之间有什么区别吗?或者是我没有遇到的其他问题。

最佳答案

了解 Selenium 如何处理 Xpath here .

在 Chrome 和 Firefox 中,我右键单击同一个 DOM 元素(如所述 here ),选择“复制 Xpath”,这就是我得到的:

Chrome://*[@id="js-pjax-container"]/div 2/div 2/表单/按钮

Firefox(带 Firebug):/html/body/div[4]/div 2/div 2/div 2/表单/按钮

(一个是属性值,另一个(FF)是绝对路径,这说明FF不理解Crhome生成的Xpath)

因此,出于 Selenium 测试目的,浏览器之间很重要。 (我没有在IE上测试)

我运行了这个

 @Test
public void testGitHubButton(){
WebDriver driver = new FirefoxDriver();
driver.get("https://github.com/");
String signup = driver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/div[1]/form/button")).getText();
Assert.assertEquals("Testing for string equality", "Sign up for GitHub", signup );
driver.close();
driver.quit();
}

测试通过了。如果我将 Chrome 的 Xpath 复制粘贴到其中,则会失败。

关于selenium - 不同浏览器的xpath是否不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23053632/

24 4 0
文章推荐: vba - 对象不支持此属性vba
文章推荐: vba - 突出显示每隔一个可见行
文章推荐: excel - 使用范围公式时缺少下拉值
文章推荐: kendo-ui - 更新后如何通过颜色变化突出显示 Kendo 网格单元
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com