如何使用分裂点击"return"



我不知道如何点击"返回"当我使Splinter库输入文本到reddit的主要搜索栏,因为它没有按钮搜索,我可能必须点击"返回"

我在这里看到了一个类似的问题,但它不适用于我的情况,也不适用于那个人写答案的情况。

class NavigationPage(object):
    def __init__(self, br):
        self.br = br
        self.url = "http://reddit.com"
    @property
    def retrieve_reddit_search_bar(self):
        """
        Retrieves search bar by it's name
        """
        return self.br.find_by_name("q")
    def search(self, search_term):
        self.retrieve_reddit_search_bar.first.fill(search_term) # fills search bar
        self.br.execute_script("document.getElementsByName('q')[0].submit()")

在搜索方法的第二个语句中回溯失败。如果有人知道怎么做,你能告诉我如何在所有网站上应用这个"返回"点击业务吗?我想他们执行类似的javascript来处理搜索请求

好,这看起来很有趣。这个想法不知从哪里冒出来的,但它就是这样:

点击"返回"键相当于点击"n"字符。这意味着每个搜索词必须以一个新的行字符结束。通过这样做,返回键被自动点击,我被带到搜索结果在reddit!

所以,命令看起来像:

b = Browser()
b.visit('http://reddit.com')
b.fill('q', 'intpn')

当selenium/splinter填充搜索词时,您将被带到搜索结果

我发现'r'可以代替'n',因为下面的代码也可以工作:

b = Browser()    
b.visit('http://reddit.com')
b.fill('q', 'intpr')

它也适用于type函数:

b = Browser()    
b.visit('http://reddit.com')
b.type('q', 'intpr')

它似乎是由Selenium自己实现的,因为下面的代码直接调用Selenium命令的行为也相同:

b = Browser() 
b.visit('http://reddit.com')
element = b.driver.find_element_by_css_selector('[name={}]'.format('q'))
element.send_keys('intpr')

这篇文章也提到了

相关内容

  • 没有找到相关文章

最新更新