gpt4 book ai didi

python - 使用 Splinter 从动态菜单中进行选择

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:00 25 4
gpt4 key购买 nike

我正在尝试运行一个 split 脚本,以便在 this 中找到菜单选项网页。

enter image description here

菜单的 HTML 如下所示:

<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>

脚本应将鼠标悬停在菜单标题上,显示可见的内容,然后将鼠标悬停在菜单标题之外并显示可见的元素。但什么也看不见。

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

我得到这个输出:

[<splinter.driver.webdriver.WebDriverElement object at 0x18c29d0>]
False
False
False
False

我是否按照 splinter 中的预期使用 mouse_over 方法,或者这个特定菜单是否有 splinter 无法处理的内容。

最佳答案

在您检查 .visible 属性时,菜单尚未可见。但是,您可以通过将鼠标移至子菜单来等待它:

from splinter import Browser

browser = Browser('firefox', wait_time=10)
browser.visit("http://databases.lovd.nl/shared/variants")

# move over the menu "Variant"
browser.find_by_id('tab_variants').mouse_over()
# move over the sub menu
browser.find_by_id('menu_tab_variants').mouse_over()

# print the menu items visibility
print browser.find_link_by_text("View all genomic variants").visible
print browser.find_link_by_text("View all variants affecting transcripts").visible

# move the mouse out of the sub menu
browser.find_by_id('menu_tab_variants').mouse_out()

# print the menu items visibility
print browser.find_link_by_text("View all genomic variants").visible
print browser.find_link_by_text("View all variants affecting transcripts").visible

关于python - 使用 Splinter 从动态菜单中进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36786056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com