上下文
我有一个看起来像 XPath 的 String
:
//img[@id='imgError' 和 @src='../plaf/images/default/menu/menu_down.gif' 和 @alt='Authorise' 和 @ref_element = 'Object/Common/Frames/frame1']
.
目标
我的目标是提取所有@ref_element=...
元素并在相应的框架中切换。
frame1
的 XPath 为 //frame[contains(@id, 'frame1') and contains(@name, 'frame1')]
。
所以预期的结果应该是:
// switch into the frame thanks to xpath extracted before
driver.switchTo().frame(driver.find_element_by_xpath("//frame[contains(@id, 'frame1') and contains(@name, 'frame1')]"));
// do an action
driver.find_element_by_xpath("//img[@id='imgError' and @src='../plaf/images/default/menu/menu_down.gif' and @alt='Authorise']").click()
获取 @ref_element
的 XPath 并在另一个框架中切换没有任何问题。
但是,我需要帮助找到一种算法来浏览初始字符串并提取 @ref_element=...
。
问题
你能帮我构建这个算法吗,因为我不知道该怎么做......至少有一些线索?
非常感谢。
最佳答案
我没有完全理解这个问题,但是如果您正在从 @ref_element='Object/Common/Frames/frame1' 中查找 Object/Common/Frames/frame1强>那么下面的代码片段可以帮助 -
// this gives index of `'` after @ref_element
int x = "input".indexOf("@ref_element='");
// this gives index of `'` after x
int y = "input".indexOf("'", x + 1);
return "input".substring(x+1, y);
如果这不能解决您的问题,请忽略。
关于java - 如何迭代字符串多次提取并存储特定内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59319596/