フレーム内にある特定の要素を選択するには、Selenium with Pythonを使用すると助けが必要です。私がしようとしているのは、 'id' = 'kiadvany_cim'という要素を選択することです。これはウィンドウ(パネル、フレーム、またはポップアップ)の中にあります。何を呼び出すべきか分かりません。問題)。私が使って試してみましたSeleniumをPythonでフレーム内のフィールドに切り替える方法
<div id="editKiadvanyPanel_c" class="yui-panel-container focused" style="left: 444px; top: -20px; z-index: 10044; visibility: visible; opacity: 1;">
<div id="editKiadvanyPanel" class="yuiPanel e yui-module yui-overlay yui-panel" style="visibility: inherit; width: 1040px;">
<div id="editKiadvanyPanel_h" class="hd" style="cursor: move;"> Add book from .epub </div>
<div id="editKiadvanyPanelBd" class="bd">
<form id="editKiadvanyForm" class="noMargin form-horizontal" enctype="application/x-www-form-urlencoded" method="post" action="/books/edit/?type=edit">
<fieldset id="fieldset-editKiadvanyForm" class="noMargin form-horizontal">
<input id="kiadvany_id" class="defZero" name="id" value="0" type="hidden">
<input id="kiadvany_dt_row" class="defZero" name="dt_row" value="0" type="hidden">
<input id="kiadvany_table" name="table" value="dt" type="hidden">
<input id="kiadvany_kozremukodo" class="defEmptyString" name="kozremukodo" value="" type="hidden">
<input id="kiadvany_token" class="defEmptyString" name="token" value="" type="hidden">
<input id="kiadvany_upload_book_token" class="defEmptyString" name="upload_book_token" value="" type="hidden">
<input id="kiadvany_upload_cover_token" class="defEmptyString" name="upload_cover_token" value="" type="hidden">
<input id="kiadvany_ifi" class="defZero triggerChange" name="ifi" value="0" type="hidden">
<table class="bc">
<tbody>
<tr>
<td class="upload">
<td class="inputs pr-1">
<div class="form-group">
<div class="form-group noMarginBottom">
<div class="checkbox" style="margin: -8px auto 16px 2px;">
<div id="kozremukodoOuter" class="form-group m-b-1">
<div class="form-group">
<label class="required" for="kiadvany_cim">Title</label>
<input id="kiadvany_cim" class="triggerChange form-control vRequired vNotEmpty-T hasValidator" name="cim" value="" title="Title" placeholder="Title" data-label-text="Title" type="text">
</div>
<div class="form-group pullUp defHidden hide" style="display: none;">
<div class="form-group katC kat1C">
<div class="form-group pullUp defHidden katC kat2C" style="display: none;">
<div class="form-group pullUp defHidden katC kat3C" style="display: none;">
<div class="form-group" style="display: none;">
<div class="checkbox" style="">
<div class="form-group">
<div class="form-group pullUp defHidden" style="display: none;">
<div class="form-group">
<div class="form-group defHidden pullUp" style="display: none;">
<div class="form-group">
</td>
<td class="inputs">
</tr>
</tbody>
</table>
</fieldset>
</form>
<div class="alert alert-info alert-sm alert-noautoclose text-center mb-0">
</div>
<div class="ft clearfix">
</div>
</div>
:
driver.switch_to_window("editKiadvanyPanel")
driver.switch_to_frame("editKiadvanyForm")
driver.switch_to_window("editKiadvanyForm")
driver.switch_to_frame("editKiadvanyPanel")
selenium.common.exceptions.ElementNotVisibleException: Message: element not visible
私はよく分からない取得
titleField = browser.find_element_by_id('kiadvany_cim')
フレームなしの要素を探ししようとすると、私はselenium.common.exceptions.NoSuchFrameException: Message: no such frame
と
selenium.common.exceptions.NoSuchFrameException: Message: no such window
を取得しています何をすべきか私はhttp://selenium-python.readthedocs.io/navigating.html#filling-in-formsを見ましたが、ウィンドウ/フレームに切り替えるための提案の他に、私はかなり失われています。どんな助けもありがとう。ありがとうございました!
詳細をお知らせください。
Oh my god、あなたを祝福してください。それは待っていたものだった。本当にありがとう、私はあまりにも長い間それを解決するために解決しようとしてきました。 – Oxymoronica