您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python selenium点击第n个元素

5b51 2022/1/14 8:20:19 python 字数 4316 阅读 462 来源 www.jb51.cc/python

下面是检查代码,当鼠标位于图像上方时,基本上我想要点击图像…. <ul id="product-list"> <li class="product one-col new"> <ul> <li class="image" title="sample image"> <a href="#product/1d77e790

概述

<ul id="product-list">

    <li class="product one-col new">
        <ul>
            <li class="image" title="sample image">
                <a href="#product/1d77e790-f74a-3859-97db-c513cbece39c">
                    <img width="" height="" alt="" src="/content/images/1.jpg"></img>
                    <span class="new"> … </span>
                    <span class="hover"></span>
                </a>
                <p class="retailer"> … </p>
                <p class="brand"></p>
            </li>
            <li class="price"> … </li>
            <li class="name" title="sample image"> … </li>
            <li class="first-seen"> … </li>
        </ul>
    </li>
    <li class="product one-col new"> … </li>
    <li class="product one-col new"> … </li>
    <li class="product one-col new"> … </li>

我正在使用python selenium,并尝试了下面的单击span(悬停)链接

browser.find_element_by_css_selector("ul#product-list > :first-child > ul > li.image > a > span.hover ").click

但这不起作用……任何想法?

更新:

browser.find_element_by_css_selector("ul#product-list > :first-child > ul > li.image > a > span.hover ").click()


 File "/usr/lib/python2.7/site-packages/selenium-2.35.0-py2.7.egg/selenium/webdriver/remote/errorhandler.py",line 164,in check_response
    raise exception_class(message,screen,stacktrace)
ElementNotVisibleException: Message: u'Element is not currently visible and so may not be interacted with' ; Stacktrace: 
    at fxdriver.preconditions.visible (file:///tmp/tmp6Pgi9F/extensions/fxdriver@googlecode.com/components/command_processor.js:8231)
    at DelayedCommand.prototype.checkPreconditions_ (file:///tmp/tmp6Pgi9F/extensions/fxdriver@googlecode.com/components/command_processor.js:10823)
    at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmp6Pgi9F/extensions/fxdriver@googlecode.com/components/command_processor.js:10840)
    at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmp6Pgi9F/extensions/fxdriver@googlecode.com/components/command_processor.js:10845)
    at DelayedCommand.prototype.execute/< (file:///tmp/tmp6Pgi9F/extensions/fxdriver@googlecode.com/components/command_processor.js:10787)

更新:

这也行不通

browser.find_element_by_css_selector("ul#product-list > :first-child > ul > li.image > a ").click()

更新:

还尝试了动作链,鼠标点击..但没有运气..

element = browser.find_element_by_css_selector("ul#product-list > :first-child > ul > li.image")
    hov = ActionChains(browser).move_to_element(element)
    hov.click()

解决了:
最后这个工作……

element_to_hover_over = driver.find_element_by_css_selector("ul#product-list > :first-child ")
hover = ActionChains(driver).move_to_element(element_to_hover_over)
hover.perform()
if "" == driver.find_element_by_css_selector("span.hover").text:
    driver.find_element_by_css_selector("span.hover").click()
browser.find_element_by_css_selector("ul...span.hover ").click()
#                                                             ^^
element = browser.find_element_by_css_selector("ul#product-list > :first-child > ul > li.image > a > span.hover ")
browser.execute_script("arguments[0].innerText = 'asdf';",element)
element.click()

总结

以上是编程之家为你收集整理的python selenium点击第n个元素全部内容,希望文章能够帮你解决python selenium点击第n个元素所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶