Ich versuche, ein Splitter-Skript auszuführen, um eine Menüoption auf der Webseite this zu finden.Verwenden von Splitter zur Auswahl aus einem dynamischen Menü
Die HTML-Menü sieht wie folgt aus:
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="logo">
<tbody><tr>
<td align="left" style="background : url('gfx/tab_fill.png'); background-repeat : repeat-x;">
...
<a href="variants">
<img src="gfx/tab_variants_F.png" alt="View variants" id="tab_variants" width="58" height="25" align="left" class="">
</a>
...
</td>
</tr>
</tbody></table>
<ul id="menu_tab_variants" class="jeegoocontext" style="display: none; left: 180px; top: 90px;">
<li class="icon"><a href="/variants" class="">
<span class="icon" style="background-image: url(gfx/menu_magnifying_glass.png);"></span>View all genomic variants</a></li>
<li class="icon"><a href="/variants/in_gene" class="">
<span class="icon" style="background-image: url(gfx/menu_magnifying_glass.png);"></span>View all variants affecting transcripts</a></li>
<li class="icon"><a href="/submit" class="">
<span class="icon" style="background-image: url(gfx/plus.png);"></span>Create a new data submission</a></li>
...
</ul>
Das Skript sollte ein Menü-Header schweben über, zeigen, was sichtbar ist, und dann aus ihm schweben und zeigen, welche Elemente sichtbar sind. Aber nichts scheint sichtbar zu sein.
from splinter import Browser
browser = Browser('firefox', wait_time=10)
browser.visit("http://databases.lovd.nl/shared/variants")
tab_variants = browser.find_link_by_href("variants")
print tab_variants
tab_variants.first.mouse_over()
print browser.find_link_by_partial_text(
"View all genomic variants").first.visible
print browser.find_link_by_partial_text(
"View all variants affecting transcripts").first.visible
tab_variants.mouse_out()
print browser.find_link_by_partial_text(
"View all genomic variants").first.visible
print browser.find_link_by_partial_text(
"View all variants affecting transcripts").first.visible
ich diese Ausgabe:
[<splinter.driver.webdriver.WebDriverElement object at 0x18c29d0>]
False
False
False
False
Bin ich die mouse_over Methode verwendet, wie es in splinter
soll oder gibt es etwas über diese besondere Menü, das splinter
kann nicht beschäftigen.
Vielen Dank für die Zeit mit, dass die Einnahme. Es ist so einfach, ein kleines aber signifikantes Detail wie dieses zu übersehen. – ChrisGuest