首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhantomJS不会跳到Python中的下一页。

PhantomJS不会跳到Python中的下一页。
EN

Stack Overflow用户
提问于 2017-05-09 01:45:14
回答 1查看 68关注 0票数 0
代码语言:javascript
复制
    # -*- coding: utf-8 -*
    import scrapy
    import os
    from selenium import webdriver
    import time


    def get_path():
        path = os.path.abspath(
            os.path.join(
                os.path.dirname(
                    os.path.abspath(__file__)),
                os.path.pardir))
        return os.path.join(
            path, 'tool/phantomjs-2.1.1-linux-x86_64/bin/phantomjs')

    browser = webdriver.PhantomJS(get_path())
    browser.get('http://www.chinaccm.com/37/372002list.shtml')
    elem = browser.find_element_by_id('keyword')
    elem.clear()
    time.sleep(1)
    elem.send_keys('针叶浆'.decode('utf-8'))
    browser.find_element_by_xpath(
        '//div[@class="search0013"]').click()
    time.sleep(1)
    print('----------------------{}'.format(browser.current_url))

输出是-http://www.chinaccm.com/37/372002list.shtml

单击似乎不起作用,但当我使用色度驱动器时,它会工作。

代码语言:javascript
复制
    # -*- coding: utf-8 -*
    import scrapy
    import os
    from selenium import webdriver
    import time


    def get_path():
        path = os.path.abspath(
            os.path.join(
                os.path.dirname(
                    os.path.abspath(__file__)),
                os.path.pardir))
        return os.path.join(
            path, 'tool/chromedriver')

    browser = webdriver.Chrome(get_path())
    browser.get('http://www.chinaccm.com/37/372002list.shtml')
    elem = browser.find_element_by_id('keyword')
    elem.clear()
    time.sleep(1)
    elem.send_keys('针叶浆'.decode('utf-8'))
    browser.find_element_by_xpath(
        '//div[@class="search0013"]').click()
    time.sleep(1)
    print('----------------------{}'.format(browser.current_url))

输出是-date=2017-5-9&keyword=%E9%92%88%E5%8F%B6%E6%B5%86&Column=372002

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-09 02:22:19

将xpath更改为'//div[@class="search0013"]/input'

Chrome和PhantomJS并不总是以同样的方式处理事情。使用'//div[@class="search0013"],您选择包含按钮的div元素,该按钮与Chrome一起工作,因为单击被发送到按钮所在的位置。PhantomJS可能正在将单击发送到div中的其他位置,并错过了按钮。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43859720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档