Python和Selenium:访问隐藏在Javascript构建的下拉菜单中的链接的好方法是什么? - javascript

我正在使用Selenium在Python中构建网络爬虫。以下是搜索链接的功能。除了被注释掉的部分,它工作正常。想法是将鼠标悬停在要检查的页面上找到的每个链接上,如果该悬停操作显示出更多链接(例如,在使用Javascript构建的下拉菜单中),然后使用对getLinksFromHTML的递归调用添加这些链接( “ if code!= 1”部分就在那里以确保只有一个递归调用)。

但是,当我在具有JS下拉菜单内的链接的页面上进行测试时,递归调用不会获取任何新链接(我正在查看的页面为http://wilmingtontaxesandaccounting.com)。所有可见链接都被选中。

我该怎么做才能让Selenium看到那些下拉链接?我需要一个通用的解决方案,即没有特定的元素ID或其他任何特定于页面的代码。谢谢阅读!

def getLinksFromHTML(currUrl, code):

    ListlinkerHref = browser.find_elements_by_xpath("//*[@href]")
    links1 = []
    links2 = []

    for link in ListlinkerHref:
        url = link.get_attribute("href")

        #hov = ActionChains(browser).move_to_element(link)
        #hov.perform()
        #if code != 1:
            #links1 = self.getLinksFromHTML(currUrl, 1)

        if url not in links1:
            links2.append(url)

    return links1 + links2  

参考方案

事实证明它无法正常工作的原因是我使用的是Firefox驱动程序。显然,在Firefox中,move_to_element实际上并没有悬停在元素上,而只是“聚焦”在那里。当我切换到Chrome驱动程序时,它实际上悬停在菜单项上方并显示了子菜单。 (请注意,实际函数中有一些错误,但这不是这个问题的重点。)

TL; DR:如果您使用的是Selenium Webdriver,并且希望将鼠标悬停在链接上以显示子菜单之类的内容,请使用Chrome,而不要使用Firefox。

Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript

我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

如何根据手势滚动网页 - javascript

如何使用pyhton / javascript使用手势向上/向下或向左/向右滚动页面。我尝试了很多找到解决方案,但无法解决。 参考方案 Javascript手势插件(JSHG)是一个很棒的插件,它使您可以通过现有网站或Web应用程序中的网络摄像头来支持用户的手势识别。您无需具有计算机视觉的任何背景即可使用此插件。当前,它提供了一组基本的手势,其中包括手的位置…

在文本字段中键入时显示预制建议列表 - javascript

如标题所说我正在处理一个mysql项目,我希望该文本字段在键入它时向现有用户提供建议(管理员控制页以禁止用户..类似的东西)一个简单的例子来解释:当我输入文字时..我想给用户输入建议假设他正在输入颜色名称所以当他在其中输入b在他继续之前,会出现一个列表,向他提供我们预先设定的建议,例如:黑色棕色蓝色然后如果他输入l为bl该列表将是:黑色蓝色布拉布拉有什么建议…

什么是最好的免费JavaScript模糊处理程序,可以作为javascript库或python库使用 - javascript

我关注这篇文章:Free JavaScript obfuscators?找到一个JavaScript混淆器,可以帮助我在客户端混淆一些JavaScript数据。但我发现这些选择都不是python或javascript lib,they use java,我使用django,所以我想知道,最好的免费JavaScript混淆器是javascript库或pytho…