【发布时间】:2014-04-07 07:26:19
【问题描述】:
我正在使用 Selenium 和 Python 来获取有关 Chrome 扩展的一些数据。我正在尝试在this page 获取特定扩展名的用户数量。我正在使用下面的代码:
from selenium import webdriver
from selenium.common.exceptions import ElementNotVisibleException, NoSuchElementException
import time
def create_browser(first_page=None):
print "Starting"
browser = webdriver.Chrome('/home/user/ChromeDriver/chromedriver')
if first_page:
browser.get(first_page);
print "Done."
return browser
def wait_find_element_by_xpath(driver, path):
counter = 0
while counter < 7:
try:
elem = driver.find_element_by_xpath(path)
break
except NoSuchElementException:
time.sleep(1)
counter += 1
elem = None
return elem
URL = 'https://chrome.google.com/webstore/detail/id-vault/jlljbiieciifehccmokcpnmlklpaimpa/details'
browser = create_browser()
browser.get(URL)
time.sleep(7)
#Get number of users
userStr = wait_find_element_by_xpath(browser, './/span[@class="webstore-f-g-He"]')
#print "\n\n\n No. of Users: "
#print userStr
#print userStr.text
#print "\n\n\n-----"
noOfUserStr = userStr.text.replace(" users", "")
noOfUsers = noOfUserStr.replace(",", "")
users = int(noOfUsers)
我的问题是我无法在那个特定页面获得用户数量。相反,我得到了错误:ValueError: invalid literal for int() with base 10: ''
我觉得这很奇怪,因为该代码与其他扩展一起工作得很好。此外,即使您单击查看源(右键单击-> 检查元素),您也会看到源中的用户数量(就在“来自”字段之后),但我仍然无法获得该值。谁能帮我解决这个问题?
【问题讨论】:
-
请提供工作代码。缺少导入