找不到Facebook传呼器(查看更多)链接元素,但无法单击它

时间:2018-11-02 23:34:02

标签: c# selenium

请帮助

我使用C#,Selenium Web驱动程序3.141和Selenium firefox Web驱动程序0.22来完成工作。

我想在Facebook赞者列表页面(示例页面:https://www.facebook.com/ufi/reaction/profile/browser/?ft_ent_identifier=917471895105237&av=100027618912502)上点击查看更多按钮/链接

我已经从“查看更多”按钮/链接中成功找到了xpath,但是无法单击它。我已经尝试了许多这样的方法,但是还是没有成功。

直接单击链接

var elMoreLiker = driver.FindElement(By.XPath("//a[contains(@class,'uiMorePagerPrimary')]"));
elMoreLiker.Click();
System.Threading.Thread.Sleep(3000);

点击链接父级

var elMoreLiker = driver.FindElement(By.XPath("//a[contains(@class,'uiMorePagerPrimary')]"));
elMoreLiker = elMoreLiker.FindElement(By.XPath(".."));
elMoreLiker.Click();
System.Threading.Thread.Sleep(3000);

点击父链接的父链接

var elMoreLiker = driver.FindElement(By.XPath("//a[contains(@class,'uiMorePagerPrimary')]"));
elMoreLiker = elMoreLiker.FindElement(By.XPath(".."));
elMoreLiker = elMoreLiker.FindElement(By.XPath(".."));
elMoreLiker.Click();
System.Threading.Thread.Sleep(3000);

使用javascript进行点击(也尝试点击父级)

var elMoreLiker =   driver.FindElement(By.XPath("//a[contains(@class,'uiMorePagerPrimary')]"));
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].click();", elMoreLiker);
System.Threading.Thread.Sleep(3000);

使用Enter键执行点击(也尝试点击父级)

var elMoreLiker =   driver.FindElement(By.XPath("//a[contains(@class,'uiMorePagerPrimary')]"));
elMoreLiker.SendKeys(OpenQA.Selenium.Keys.Enter);
System.Threading.Thread.Sleep(3000);

使用动作执行点击

var elMoreLiker =   driver.FindElement(By.XPath("//a[contains(@class,'uiMorePagerPrimary')]"));
Actions ayo = new Actions(driver);
ayo.MoveToElement(elMoreLiker).Click().Build().Perform();
System.Threading.Thread.Sleep(3000);

我已经在这里呆了几天了,不知道该怎么办。任何帮助将不胜感激。

0 个答案:

没有答案