在tumblr中(在弹出窗口中)单击可撤消的重新登录按钮

本文关键字:新登录 登录 按钮 单击 tumblr 窗口 撤消 | 更新日期: 2023-09-27 18:25:47

所以我试图为tumblr创建一个机器人程序,但我就是无法点击reblog按钮(弹出帖子中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);

这样人们就可以告诉我如何点击按钮了!!?谢谢。

在tumblr中(在弹出窗口中)单击可撤消的重新登录按钮

如果它是一个iframe,您仍然可以以与切换到新窗口几乎相同的方式进行操作。下面是一个示例代码,它解释了它的使用(然而,代码是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的索引号,以便切换到它并执行操作。

使用implicitwait或explicitwait来等待webdriver加载新添加的html元素,因为该对话框后来是由javascript添加的。

Thread.Sleep(15000);
//or 
_driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));