Python Selenium" WebDriverElement'对象没有属性' get_attribute'

时间:2017-05-08 23:49:10

标签: python selenium splinter

我正在使用Selenium和Splinter为我的Web应用程序运行UI测试。我正在为页面上的视图生成随机ID,并希望选择随机ID进行测试。

以下是我正在使用的代码

from selenium import webdriver
from splinter import Browser
executable_path = {'executable_path':'./chromedriver.exe'}
browser = Browser('chrome', **executable_path)

data_view_id = browser.find_by_xpath('//ul[@class="nav"]').find_by_xpath('.//a[@href="#"]')[0].get_attribute("data-view-id")
# I am trying to get the id for the first item in the nav list and use it elsewhere
print(data_view_id)

这是我收到的错误:

AttributeError: 'WebDriverElement' object has no attribute 'get_attribute'

我看过' readthedocs' WebElement的页面,它有' get_attribute'值。我找不到任何关于WebDriverElements的文档,需要帮助访问WebElement

1 个答案:

答案 0 :(得分:4)

WebDriverElement来自Splinter,而不是Selenium。

在Splinter中,您可以访问dict等属性(请参阅Splinter docs

data_view_id = browser.find_by_xpath('//ul[@class="nav"]').find_by_xpath('.//a[@href="#"]')[0]['data-view-id']

或者如果你想在Selenium中这样做:

browser.find_element_by_xpath('//ul[@class="nav"]').find_element_by_xpath('.//a[@href="#"]').get_attribute("data-view-id")