例如,那些3:
.//*[@id='stream-item-tweet-746838978284818432']/div/div[2]/div[5]/div[2]
.//*[@id='stream-item-tweet-746838891605397504']/div/div[2]/div[5]/div[2]
.//*[@id='stream-item-tweet-746838648461590528']/div/div[2]/div[5]/div[2]
网站上的数字不断变化。是否有选项可以通过xpath搜索这些元素并忽略中间的长数字?
答案 0 :(得分:0)
尝试使用xpath的包含功能
.//*[contains(@id,'stream-item-tweet')]/div/div[2]/div[5]/div[2]
答案 1 :(得分:0)
您可以使用 开头 - 功能,这样您只能获得 id 的元素你想要的文字
.//*[starts-with(@id,'stream-item-tweet-')]/div/div[2]/div[5]/div[2]
答案 2 :(得分:0)
如果您不介意使用CSS选择器,您可以更直接地完成此操作。你的XPath在所有相关元素上都有些脆弱。下面是Java中的工作代码。
driver.findElements(By.cssSelector("[aria-label='Tweet actions']"));
我确定这可以转换为XPath,如果你必须有一个,但我不是XPath专家。