Selenium Webdriver: ИмяError name 'firefox' не определено - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь написать этот код, используя Selenium и Python:

from selenium import webdriver


browser = webdriver.Firefox()
browser.get('http://demo.guru99.com/test/login.html')

from selenium.webdriver.common.keys import Keys

email = firefox.find_element_by_xpath('//*[@id="email"]')
email.send_keys('user@gmail.com')

passwd = firefox.find_element_by_xpath('//*[@id="passwd"]')
passwd.send_keys('123456')

Но я не понимаю, почему произошла эта ошибка, пожалуйста, помогите мне

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

В своем коде вы создаете экземпляр объекта webdriver. Firefox () и называете его браузером

browser = webdriver.Firefox()

Позже в своем коде вы пытаетесь найти элемент по xpath использование переменной с именем firefox

email = firefox.find_element_by_xpath('//*[@id="email"]')

Проблема в том, что firefox фактически никогда не создавался, я думаю, что вы хотели сделать это

email = browser.find_element_by_xpath('//*[@id="email"]')
1 голос
/ 19 апреля 2020

Вы определяете переменную browser как объект веб-драйвера. Затем вы пытаетесь использовать firefox в качестве объекта веб-драйвера, но вы никогда не определяли переменную firefox. Это один из способов решить вашу проблему. Вам лучше вызывать переменную browser, а не firefox, потому что тогда вы можете просто изменить тип браузера в первой строке кода, и код не будет сбивать с толку.

browser = webdriver.Firefox()
browser.get('http://demo.guru99.com/test/login.html')

from selenium.webdriver.common.keys import Keys

email = browser.find_element_by_xpath('//*[@id="email"]')
email.send_keys('user@gmail.com')

passwd = browser.find_element_by_xpath('//*[@id="passwd"]')
passwd.send_keys('123456')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...