【问题标题】:Selenium not able to get some data on the web pageSelenium 无法在网页上获取某些数据
【发布时间】: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: ''

我觉得这很奇怪,因为该代码与其他扩展一起工作得很好。此外,即使您单击查看源(右键单击-> 检查元素),您也会看到源中的用户数量(就在“来自”字段之后),但我仍然无法获得该值。谁能帮我解决这个问题?

【问题讨论】:

  • 请提供工作代码。缺少导入

标签: python selenium


【解决方案1】:

问题在于,对于这个特定的扩展程序,由于“发件人”网址的长度,用户数量是不可见的。 Selenium 通常只对文档中的可见元素起作用。

我建议通过 javascript 执行来获取这个值:

userStr = browser.execute_script("return document.getElementsByClassName('webstore-f-g-He')[0].textContent")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    相关资源
    最近更新 更多