我正在使用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
答案 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")