# -*- 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
单击似乎不起作用,但当我使用色度驱动器时,它会工作。
# -*- 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
发布于 2017-05-09 02:22:19
将xpath更改为'//div[@class="search0013"]/input'
Chrome和PhantomJS并不总是以同样的方式处理事情。使用'//div[@class="search0013"],您选择包含按钮的div元素,该按钮与Chrome一起工作,因为单击被发送到按钮所在的位置。PhantomJS可能正在将单击发送到div中的其他位置,并错过了按钮。
https://stackoverflow.com/questions/43859720
复制相似问题