从webelement到另一个webelement的相对xpath

时间:2019-09-11 06:43:38

标签: java selenium xpath

所以我试图通过使用XPath从一个Web元素过渡到另一个Web元素。 这就是webelement所在的路径,我可以使用“ findElementsByClassName”找到它。

//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[2]/div/div/div

这是我需要去的地方。

//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[1]/span

我不能直接指向它,因为每个Web元素的列和行都会改变。

我尝试了几种不同的路径,例如:

.//.//.//.//div[1]/span

但是找不到元素。

如果有人有更好的解决方案,那也可以。

谢谢!

1 个答案:

答案 0 :(得分:0)

您真的不应该依赖这样的索引(例如div [3]或tbody [3])。它会使您的实现变得脆弱,而对html所做的任何改动都会破坏该实现。代替

#include <iostream> #include <map> #include <vector> #include <omp.h> using namespace std; int main() { map<int, int> t; for(int i=0; i<100; i++) t[i]=i; #pragma omp parallel for for (map<int, int>::iterator iter = t.begin(); iter != t.end(); iter++) { iter.operator*().second += 100; std::cout << iter.operator*().second << std::endl; } std::cout << "Hello, World!" << std::endl; return 0; }

您可以做类似

的操作

g++ main.cpp -o main -fopenmp

回答您的原始问题,而不是

print("Type the wages, when finished type -1") wages = int(input("Type the wage: ")) wages_list = [] while wages !=-1: wages = int(input("Type the wage: ")) if wages!=-1: wages_list.append(wages) if wages_list: print("Average is :",sum(wages_list)/len(wages_list))

类似于

//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[2]/div/div/div