c# - facebook pager(查看更多)链接元素已定位但无法点击它
问题描述
请帮忙,
我使用 C#、selenium web driver 3.141 和 selenium firefox web driver 0.22 来完成我的工作。
我想在 facebook liker 列表页面上单击查看更多按钮/链接(示例页面: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);
我已经被困在这里几天了,不知道我应该尝试什么。任何帮助将不胜感激。
解决方案
推荐阅读
- ruby-on-rails - 我正在使用 Rails 4.1,如何将新模型 id 类型设置为 bigint Postgres
- javascript - 调用具有不同参数的函数不起作用
- java - 如何调试这个 Jackson JsonDeserializer 异常?
- python - 将列表元素与numpy数组中的列进行比较
- python - 为什么使用 int() 函数将浮点数转换为整数时出现错误?
- python - Python:为什么我的代码输出不正确
- git - HEAD 在 sha1 处分离
- swift - GeoFire 查询后无法正确观察 Firebase
- node.js - 无法在 node.js 或 react 中访问 Gitlab env 变量
- assembly - z/OS 上的 HLASM 问题有关 Invalid OpCode 的错误