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

如何使用Xpath for JavascriptExecitor(Selenium)编写webelement路径

奚瑾瑜
2023-03-14

正在尝试在Selenium WebDriver上编写自动测试。具有带有CSS定位器的页面上Webelement:

@FindBy (css = "#FeedbackMessage")
protected WebElement fm;

此外,还应采用以下工作方法聚焦该元素:

public void focusout(){
JavascriptExecutor js = (JavascriptExecutor) driver;

js.executeScript("arguments[0].blur();", fm);

问题是如何做到这一点,但要使用xpath定位器。元素的xpath是//textarea[@id='FeedbackMessage']。

琐碎的用法

@FindBy (xpath = "//textarea[@id='FeedbackMessage']")
protected WebElement fm;

不工作

共有1个答案

令狐唯
2023-03-14

实际上通过IDEA中的调试找到了答案。

受保护的WebElement fm

原因-xpath定位器//text Area[@id='FeedbackMessage']可以提供元素列表(即使我只有一个元素)。但是使用CSS或ID选择器总是首先找到元素。

所以我只需要指出元素的索引

 类似资料:
  • 问题内容: 请参阅以下元素: 找到我的元素: 因此,找到后并使用带有selenium 或return 的文本: 所以我的问题是如何只获得没有这一点的最后一行 问题答案: 所需的文本出现在文本节点中,并且无法直接使用Selenium检索,因为它仅支持元素节点。 您可以删除开头: 您还可以使用正则表达式从中提取所需的内容: 或使用一段JavaScript:

  • 请参阅以下元素: 找到我的元素: 因此,在找到这个并使用selenium和或获取文本后,返回: 所以我的问题是如何只得到最后一行没有这个

  • 以添加一些功能是否是一种良好的做法,因为在某些页面中,我需要单击按钮,而在某些情况下,按钮尚未加载,所以我添加了wait以检查元素是否可见。 所以我的问题是:是更好地创建,它将实现WebElement并覆盖单击()方法来添加一些等待功能,还是只在特定页面中使用普通等待更好?

  • 我想截屏Selenium中的一个元素,根据文档,每个WebElement都有一个功能: 截图(文件名) 将当前元素的屏幕截图保存到PNG图像文件。如果有任何IOError,则返回False,否则返回True。在文件名中使用完整路径。 Args:filename:您希望将屏幕截图保存到的完整路径。这应该以一个简单的结尾。png扩展 用法:元素。截图(“/Screenshots/foo.png”) 但

  • 我想给Click一个基于样式和类名的按钮,因为在我的例子中没有唯一的类名和ID。 我已经试过了 我收到以下错误: Selenium.Common.Exceptions.NosuChelementException:消息:没有这样的元素:找不到元素:{“method”:“XPath”,“Selector”:“//A[@class='x-btn x-unselectable rp-importing-