Selenium按类选择元素

时间:2015-04-13 13:11:54

标签: c# facebook selenium

我想使用Selenium C#选择一个元素..元素在每次页面刷新时更改它的ID ..但是类保持不变。

<button value="1" class="_42ft _4jy0 PageLikeButton _4jy4 _517h _9c6" data-profileid="410450525803083" data-ownerid="u_0_38" id="u_0_39" type="submit"><i class="_3-8_ img sp_j8Y25-Vyqxr sx_9b87dd"></i>Like</button>

id为 u_0_39

我曾经使用过这段代码:

IWebElement likepage = firefox.FindElement(By.Id("u_0_1k"));
likepage.Click();

但是现在每个页面刷新时ID都在变化,而类保持不变

class="_42ft _4jy0 PageLikeButton _4jy4 _517h _9c6"

我想使用Selenium C#按类而不是ID选择此元素,因为id正在更改..并单击它 喜欢Facebook页面。

1 个答案:

答案 0 :(得分:0)

我不依赖于类本身,因为该类看起来更通用。我认为xpath最适合基于文本的搜索

By byXpath = By.Xpath("//button[contains(.,'Like')]");
IWebElement likepage = firefox.FindElement(byXpath);
likepage.Click();