2016-10-26 3 views
1

Я сейчас в CH11 из книги «Автоматизация скучного материала с помощью Python», и я перехожу через модуль Selenium. Я пытаюсь перейти к концу страницы, но у меня возникают проблемы. Я также попытался найти похожие проблемы на этом сайте и, к сожалению, пробовал предлагаемые решения без успеха. Вот мой код, когда я ввожу его в IDLE Shell:Selenium - элемент не видимый [Python]

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
browser= webdriver.Firefox() 
browser.get('http://nostarch.com') 
htmlElem= browser.find_element_by_tag_name('html') 
type(htmlElem) 
<class 'selenium.webdriver.firefox.webelement.FirefoxWebElement'> 
htmlElem.send_keys(Keys.END) # Error 

Исключение -:

Traceback (most recent call last): 
    File "<pyshell#7>", line 1, in <module> 
    htmlElem.send_keys(Keys.END) 
    File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\webelement.py", line 347, in send_keys 
    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)}) 
    File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\webelement.py", line 494, in _execute 
    return self._parent.execute(command, params) 
    File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute 
    self.error_handler.check_response(response) 
    File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not visible 

Видимо html элемент не виден? Я не понимаю, как это происходит, так как кажется, что элемент html просто замечателен, как видно на коде, без проблем, но Key.ENTER - это то место, где я получаю сообщение об ошибке. Любая помощь будет оценена по достоинству.

+0

Пробовали ли вы местонахождение элемент какой-либо другой атрибут? – bane19

+1

Попробуйте 'browser.find_element_by_tag_name ('body')'. Это работает для меня – Andersson

+0

Большое спасибо Andersson, сейчас он работает. – tadm123

ответ

2

Просто протестировали следующий с Chrome драйвер и он работает (он должен также работать с Firefox):

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

browser = webdriver.Chrome() 
browser.get('http://nostarch.com') 
body_elem = browser.find_element_by_tag_name('body') 
body_elem.send_keys(Keys.END) 
+0

Спасибо @ettanany, теперь он работает. Знаете ли вы, почему он не работал с «html»? – tadm123

Смежные вопросы