Otrzymuję ten denerwujący element nie jest widoczny wyjątek przy użyciu selenu Pythona, podczas gdy element jest aktywny, wybrany i miga.ElementNotVisibleException: Wiadomość: Element nie jest obecnie widoczny ... selen (python)
Kwestia jest na stronie, aby zrobić jfiddle, więc zamiast tworzyć skrzypce samego fiddle tutaj jest cięcie i wklejanie sposobu logowania i mieć webdriver (o nazwie "sterownik") w swoim terminalu ipython (wprowadzić nazwę użytkownika i hasło do ipython, a nie strona):
https://gist.github.com/codyc4321/787dd6f62e71cc71ae83
teraz jest kierowca i jesteś zalogowany do jsfiddle, wszystko co robię tutaj nie wyjątkiem picking BOX raz pierwszy (powiedzmy Chcę upuścić CSS w polu CSS):
https://gist.github.com/codyc4321/f4c03c0606c2e3e4ff5b
Wklej activate_hidden_element
i pierwszą linią kodowania i zobacz panel CSS. Z jakiegoś powodu ten podświetlony panel jest "niewidoczny" i nie można go wkleić ani kodować. Element to
<div class="window top" id="panel_css" data-panel_type="css">
<textarea id="id_code_css" rows="10" cols="40" name="code_css"></textarea>
<a href="#" class="windowLabel" data-panel="css">
<span class="label">CSS</span><i class="bts bt-gear"></i>
</a>
</div>
Wszystkie pozostałe elementy (HTML, JS) są w zasadzie takie same. Dlaczego to aktywne pole nie pozwala na wklejenie tekstu? Dziękuję
ROZWIĄZANIE:
brzydki sposób zrobiłem ten prac serwisowych było ręcznie fałszywy kopiowania i wklejania:
css_content = get_inline_content_and_remove_tags(webpage_content, 'style')
js_content = get_inline_content_and_remove_tags(webpage_content, 'script')
webpage_content = # ...clean cruft...
def copy_paste_to_hidden_element(content=None, html_id=None):
pyperclip.copy(content)
activate_hidden_element(html_id=html_id, driver=driver)
call_sp('xdotool key from+ctrl+v')
time.sleep(1)
copy_paste_to_hidden_element(content=webpage_content, html_id="panel_html")
copy_paste_to_hidden_element(content=js_content, html_id="panel_js")
copy_paste_to_hidden_element(content=css_content, html_id="panel_css")
To działa, tylko drobny problem to nie może działać w tle, muszę zostawić ekran sam na około 30 sekund
Ostatecznym celem jest wypełnienie textarea, zgadza się? –
yessir, być w stanie wypełnić wszystkie te obszary tekstowe html, css i javascript – codyc4321