Как я могу запустить webdriver-io вне тестовой среды и при этом получить доступ к глобальным переменным $ и $$?

Чтобы получить более ясность, давайте посмотрим на DataFrame с двумя уровнями в его индексе (MultiIndex).

index = pd.MultiIndex.from_product([['TX', 'FL', 'CA'], 
                                    ['North', 'South']], 
                                   names=['State', 'Direction'])

df = pd.DataFrame(index=index, 
                  data=np.random.randint(0, 10, (6,4)), 
                  columns=list('abcd'))

Метод reset_index, вызываемый параметрами по умолчанию, преобразует все индексы в столбцы и использует простой RangeIndex в качестве нового индекса.

df.reset_index()

Используйте параметр level для управления тем, какие уровни индексов преобразуются в столбцы. Если возможно, используйте имя уровня, которое является более явным. Если имена уровней отсутствуют, вы можете ссылаться на каждый уровень по его целочисленному местоположению, которое начинается с 0 извне. Вы можете использовать скалярное значение здесь или список всех индексов, которые вы хотели бы сбросить.

df.reset_index(level='State') # same as df.reset_index(level=0)

В редком случае, когда вы хотите сохранить индекс и превратить индекс в столбец, вы можете сделать следующее:

# for a single level
df.assign(State=df.index.get_level_values('State'))

# for all levels
df.assign(**df.index.to_frame())

0
задан Daniel Dwyer 15 January 2019 в 21:37
поделиться

2 ответа

На всякий случай, если кто-нибудь на моем месте ...

const { remote } = require('webdriverio');

(async () => {
    const browser = await remote({
        logLevel: 'trace',
        capabilities: {
            browserName: 'chrome'
        }
    })

    await browser.url('https://duckduckgo.com/')

    const inputElem = await browser.$('#search_form_input_homepage')
    await inputElem.setValue('WebdriverIO')

    const submitBtn = await browser.$('#search_button_homepage')
    await submitBtn.click()

    console.log(await browser.getTitle()) // outputs: "Title is: WebdriverIO (Software) at DuckDuckGo"

    await browser.deleteSession()
})().catch((e) => console.error(e))
0
ответ дан Daniel Dwyer 15 January 2019 в 21:37
поделиться

Если вы ищете какой-то простой скрипт для выполнения в браузере, возможно, WebdriverIO будет перегружен. WebdriverIO отлично подходит для тестов и сложных манипуляций с браузером

Попробуйте https://github.com/GoogleChrome/puppeteer

0
ответ дан Xotabu4 15 January 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: