不能点击一个divbuttonseleniumwebdriver

var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.get('https://www.tumblr.com/login'); driver.findElement(webdriver.By.id('signup_email')).sendKeys('my_username'); driver.findElement(webdriver.By.id('signup_password')).sendKeys('my_password'); driver.findElement(webdriver.By.id('signup_forms_submit')).click(); driver.wait(function(){ driver.get('https://www.tumblr.com/search/love+gifs'); },5000); driver.wait(function(){ driver.findElement(webdriver.By.id("post_control like")).click(); },1000); driver.wait(function(){ driver.findElement(webdriver.By.id("follow-text")).click(); },1000); driver.quit(); 
 <div class="post-info-post-tumblelog"> <div class="post-info-tumblelog"> <a class="follow_link worded-follow-button show-unfollow" data-subview="follow" href="/follow/pleasingpics" style="width: 41px;"> <div class="follow-text" title="Follow">Follow</div> <div class="unfollow-text" title="Unfollow">Unfollow</div> </a> </div> </div> 

我有一个Javascript代码,用于使用Selenium WebDriver在Tumblr上关注一些帐户。

在HTML代码中,有一个关注button,您可以在名为“follow-text”的类中看到。 但我的代码不起作用,我也想知道buttonbutton实际上不是一个button,但他们已经使它成为一个可点击的div类。 我不太熟悉HTML / CSS,而且我是新的Javascript和Selenium Webdriver。 我的代码有什么问题? 此外,我必须点击同一页上的不同职位上的button。 我正在考虑创build一个循环,但我甚至不能点击其中的一个。 任何帮助将不胜感激。

 driver.wait(function(){ var followButton = driver.findElement(webdriver.By.xpath("/html/body/div[4]/div/div/div[2]/div[2]/div[1]/div[2]/div/article[5]/header/div/div/div/a/div[1][@class='follow-text']")); followButton.click(); },1000); 

你需要点击父元素。 不是在div上,而是在<a> – 作为div的父母。