[英]can't click to a div button selenium webdriver
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代碼中,有一個跟隨按鈕,您可以在名為“跟隨文本”的類中看到。 但是我的代碼不起作用,我也想知道跟隨按鈕實際上不是按鈕,但是他們已經將其設為可點擊的div類。 我對HTML / CSS不太熟悉,對Javascript和Selenium Webdriver還是很陌生。 我的代碼有什么問題? 另外,我還必須單擊同一頁面上不同帖子上的關注按鈕。 我正在考慮創建一個循環,但是我什至不能單擊其中之一。 任何幫助將不勝感激。
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);
這段代碼解決了我的問題。 我猜Firebug的xpath選擇器給了我錯誤的答案。 我做了很多修改,終於奏效了。 謝謝大家的幫助。
您需要單擊父元素。 不是在div上,而是在<a>
-作為div的父級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.