当前位置: 首页 > 知识库问答 >
问题:

在Selenium上查找XPath

翟缪文
2023-03-14

请帮帮我。实际上,我想使用XPath在selenium中查找元素定位器,因为id是自动生成的(页面刷新时id总是更改)。但是XPath也总是发生变化。以下是XPath定位器:

html/body/div[4]/div/div[1]/div/table[1]/tbody[2]/tr[1]/td/div/nobr
html/body/div[4]/div/div[1]/div/table[1]/tbody[2]/tr[1]/td/div/nobr
html/body/div[15]/div/div[1]/div/table[1]/tbody[2]/tr[1]/td/div/nobr
html/body/div[7]/div/div[1]/div/table[1]/tbody[2]/tr[1]/td/div/nobr

实际上,我已经尝试使用:

html/body/div[滚动菜单]/div/div[1]/div/table[1]/tbody[2]/tr[1]/td/div/nobr

div本身有唯一的类名滚动菜单。但它不起作用。它总是给出找不到的错误元素。

共有2个答案

慕阳
2023-03-14

在Google Chrome中打开页面,并在实现之前使用F12测试xPath,这为我节省了很多时间

华升
2023-03-14

您可以在XPath中使用元素的id,如下所示:

假设XPath是

//*[contains(@id, "constantPart-")]

PS。如果这不起作用,请使用目标元素的超文本标记语言更新您的问题,以便我可以适当地编辑XPath

 类似资料:
  • 问题内容: 如何使用Selenium检查当前页面上是否存在给定的文本字符串? 问题答案: 代码是这样的:

  • 我有这一页: 我想按节群链接: 下面是y在以下内容中找到的解释:http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.webelement.find_element_by_xpath

  • 我对Selenium是新手,我正在尝试使用Chrome在这个网页上自动完成登录任务。我已经成功地找到并发送了电子邮件和密码字段的密钥。但是,我无法单击“登录”按钮。 检查元素产生以下结果, 我试过使用 由于没有名称字段,因此产生了一个错误。我发现这可以使用XPath或css选择器来完成。 请告知

  • 我尝试使用“linktext”和“partiallinktext”查找链接“添加名称”,但它无法定位元素。我尝试使用类名称,但也失败了。最后,我使用了xpath。 我的代码: 请让我知道我是否犯了什么错误?

  • 问题内容: 我正在尝试找到一种比使用以下方法更好的方法: 我有一个页面,其中的数据可以更改,从而使页面高度的大小可以更改。因此,当我今天单击位于上的元素时,明天可能会找到它,并且找不到该元素,并且测试用例失败。 那么,你们用什么来定位大小变化的页面上的元素? 问题答案: 我开始使用下面的方法,似乎效果很好。谢谢大家的帮助。

  • 我在下面的网页中找不到链接的XPath/CSS选择器:“Select Participant”,然后我将循环遍历所有链接。 列表链接=driver.findElements(By.xpath(“//div[contains(@class='glossymenu')]//a”);迭代器iter=links.Iterator();//system.out.println(“CLASS Elements