私はPythonでSeleniumを使用して、ドロップダウンメニューの上にマウスを置くと表示されるドロップダウンメニュー内のリンクをクリックしようとしています。ここにドロップダウンメニューの情報があります:PythonでSeleniumを使用した隠しリンクをクリックしてください
<div id="DownloadMenu">
<ul id="DownloadMenu_control" class="topmenu" widgetid="DownloadMenu_control">
<li class="horizontal-list-item-2 leftFloatedItem" id="[email protected]_1" widgetid="[email protected]_1" style="">
<a class="horizontal-list-item-2 leftFloatedItem" href="javascript:void(0)">Download</a>
<ul id="common_navigation_MenuControl_6" class="submenu" style="display: none; left: 0px; visibility: hidden;" widgetid="common_navigation_MenuControl_6">
<li class="subitems" id="[email protected]" widgetid="[email protected]">
<a href="javascript:com.reuters.rts.event(event, 'openMultiDocInfoViewerBatchViewEikon', 'itemsCollectionId', 'AllDocumentListView_items', 'researchTableManagerId', 'AllDocumentListView', 'summary', escape(encodeURIComponent(dijit.byId('advancedSearchManager').getFilterSubmittedSummary())), 'fileSizeLimitForMerging', '25','forBatchPrint','true', 'action','Save');">Documents</a>
</li>
</ul>
</li>
</ul>
</div>
"a href"タグの "Documents"リンクをクリックしようとしています。私は、メニューの上に置くと、以下のように、コードの変更:隠された部分秒のULタグに消える:あなたは視認性があることがわかります
<div id="DownloadMenu">
<ul id="DownloadMenu_control" class="topmenu" widgetid="DownloadMenu_control">
<li class="topitemOn" id="[email protected]_1" widgetid="[email protected]_1" style="">
<a class="horizontal-list-item-2 leftFloatedItem" href="javascript:void(0)">Download</a>
<ul id="common_navigation_MenuControl_6" class="submenu" style="display: none; left: 0px;" widgetid="common_navigation_MenuControl_6">
<li class="subitems" id="[email protected]" widgetid="[email protected]">
<a href="javascript:com.reuters.rts.event(event, 'openMultiDocInfoViewerBatchViewEikon', 'itemsCollectionId', 'AllDocumentListView_items', 'researchTableManagerId', 'AllDocumentListView', 'summary', escape(encodeURIComponent(dijit.byId('advancedSearchManager').getFilterSubmittedSummary())), 'fileSizeLimitForMerging', '25','forBatchPrint','true', 'action','Save');">Documents</a>
</li>
</ul>
</li>
</ul>
</div>
。
私は、次のコードを使用してページの要素を発見した:
download_menu = driver.find_element_by_id("DownloadMenu")
download_button = download_menu.find_elements_by_tag_name('a')[1]
私が使用してダウンロードボタンをクリックしてください場合:
download_button.click()
を私は要素ではないエラーが発生します目に見える:
ElementNotVisibleException: Message: element not visible
だから私が試した、
ActionChains(driver).move_to_element(download_menu).move_to_element(download_button).click(download_button).perform()
これを行うと何も起こりません。だから、私はメニューが表示されるようにスクリプトを実行しようとしたし、次にクリックし、それはどちらか動作しませんでした:私はexecute_script機能を実行すると
visibility_tag = download_menu.find_elements_by_tag_name('ul')[1]
driver.execute_script("arguments[0].style.display = 'block'; arguments[0].style.left = '0px'; arguments[0].style.visibility = ''", visibility_tag)
、メニューは私のブラウザで見えるようになるん。まだクリックすることはできません。私はここで狂っているよ。何か案は?私はPythonでSeleniumのChrome拡張機能を使用しています。
任意のiframe.tryは次のようにCSSを使用した場合参照:「#DownloadMenu [のhref * =ドキュメント] " – lauda