tumblr 中不可点击的转发按钮(在弹出 window 中)
unclickable reblog button in tumblr (in pop up window)
所以我正在尝试为 tumblr 创建一个机器人,但我就是无法单击转发按钮(弹出窗口 post 中 Iframe 中的按钮)。我已经在互联网上搜索了解决方案,但没有任何运气,现在我不知道该怎么做。
以下是我尝试过的方法:
IWebElement a = _driver.FindElement(By.XPath("//body[@id='search_actions_search']/div[9]/div/div/div/div/div[2]/div[2]/div/div[5]/div/div/div[3]/div/div/button"));
a.SendKeys(Keys.Enter);
然后我用了这个
_driver.FindElement(By.XPath("//body[@id='search_actions_search']/div[9]/div/div/div/div/div[2]/div[2]/div/div[5]/div/div/div[3]/div/div/button")).Click();
我也用过这个
var jsclick3 = _driver.FindElement(By.XPath("//body[@id='search_actions_search']/div[9]/div/div/div/div/div[2]/div[2]/div/div[5]/div/div/div[3]/div/div/button"));
IJavaScriptExecutor js = _driver as IJavaScriptExecutor;
if (js != null) js.ExecuteScript("arguments[0].click();", jsclick3);
所以谁能告诉我如何让那个按钮被点击!!?谢谢。
如果是 iframe,您仍然可以使用几乎与切换到新的 window 相同的方法。这是一个示例代码,解释了它的用法(但是代码在 Java 中,但给出了一个清晰的思路):
WebDriver driver = new FirefoxDriver();
driver.get("http://www.w3schools.com/html/html_iframe.asp");
driver.switchTo().frame(0);
driver.findElement(By.xpath(".//*[@id='topnav']/div[1]/div[1]/a[4]")).click();
请注意,您需要找出正确的 iframe 的索引号才能切换到它并执行操作。
使用隐式等待或显式等待等待webdriver加载新添加的html元素,因为对话框是后来javascript添加的。
Thread.Sleep(15000);
//or
_driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
所以我正在尝试为 tumblr 创建一个机器人,但我就是无法单击转发按钮(弹出窗口 post 中 Iframe 中的按钮)。我已经在互联网上搜索了解决方案,但没有任何运气,现在我不知道该怎么做。 以下是我尝试过的方法:
IWebElement a = _driver.FindElement(By.XPath("//body[@id='search_actions_search']/div[9]/div/div/div/div/div[2]/div[2]/div/div[5]/div/div/div[3]/div/div/button"));
a.SendKeys(Keys.Enter);
然后我用了这个
_driver.FindElement(By.XPath("//body[@id='search_actions_search']/div[9]/div/div/div/div/div[2]/div[2]/div/div[5]/div/div/div[3]/div/div/button")).Click();
我也用过这个
var jsclick3 = _driver.FindElement(By.XPath("//body[@id='search_actions_search']/div[9]/div/div/div/div/div[2]/div[2]/div/div[5]/div/div/div[3]/div/div/button"));
IJavaScriptExecutor js = _driver as IJavaScriptExecutor;
if (js != null) js.ExecuteScript("arguments[0].click();", jsclick3);
所以谁能告诉我如何让那个按钮被点击!!?谢谢。
如果是 iframe,您仍然可以使用几乎与切换到新的 window 相同的方法。这是一个示例代码,解释了它的用法(但是代码在 Java 中,但给出了一个清晰的思路):
WebDriver driver = new FirefoxDriver();
driver.get("http://www.w3schools.com/html/html_iframe.asp");
driver.switchTo().frame(0);
driver.findElement(By.xpath(".//*[@id='topnav']/div[1]/div[1]/a[4]")).click();
请注意,您需要找出正确的 iframe 的索引号才能切换到它并执行操作。
使用隐式等待或显式等待等待webdriver加载新添加的html元素,因为对话框是后来javascript添加的。
Thread.Sleep(15000);
//or
_driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));