如果没有ClassName,并且ID在selenium webdriver中不起作用,如何单击按钮

时间:2016-05-05 11:06:35

标签: selenium selenium-webdriver

from selenium import webdriver
import time

driver = webdriver.Firefox()

try:
    driver.get("URL Link")
    time.sleep(10)
    driver.find_element_by_id("ess.myAccount.Label").click()
except:
    print("Requested page is not opening")

driver.close()

点击该按钮的另一种方法是什么 HTML来源 - 主要帐户

3 个答案:

答案 0 :(得分:1)

使用以下作为cssSelector并单击:

a#ess\\.homeAccount\\.Label[onclick$='return false;'][href$='#']

 a[id^='ess'][onclick$='return false;'][href$='#']

 driver.find_element_by_id("ess\\.myAccount\\.Label").click() 
你也可以用这个

d3.csv('linktocsvfilehere.csv',function(data){

var sumArray = [];
var janArray= [], febArray= [], marchArray = [];

data.forEach(function(d){
   janArray.push(d.jan); //push all jan values into jan array
   febArray.push(d.feb); //push all feb values into feb array
   marchArray.push(d.march); //push all march values into march array
});

var janSum = getSumOfArray(janArray); //get sum of jan array
var febSum = getSumOfArray(febArray);
var marchSum = getSumOfArray(marchArray);

sumArray.push(janSum,febSum,marchSum);

console.log(sumArray); //here is your array you want

function getSumOfArray(array){

   var thisSum = 0;

   for(var i = 0; i<array.length; i++){
      thisSum += array[i];
   }
   return thisSum;
}
})

答案 1 :(得分:0)

如果id不起作用,那么您可以尝试使用其他定位器来指定特定的必需元素。通过使用提供的HTML代码,您可以尝试

的xpath:

  

// a [@id =&#39; ess.homeAccount.Label&#39;] //如果id不起作用xpath by   使用id可能有效

     

// a [包含(文字(),&#39;主要帐户&#39;)]

谢谢你, 穆拉利

答案 2 :(得分:0)

您可以点击父元素,该元素实际上包含onclick事件

driver.find_element_by_class_name('BM').click()