51Testing软件测试论坛

标题: 小爬虫 [打印本页]

作者: zhang_anne    时间: 2017-5-9 14:09
标题: 小爬虫
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.action_chains import ActionChains
import time


binary = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")    #加入Firefox的路径
driver =webdriver.Firefox(firefox_binary=binary)
driver.get("http://www.baidu.com")

above = driver.find_element_by_xpath('//*[@id="u1"]/a[8]')
ActionChains(driver).move_to_element(above).perform()

driver.find_element_by_link_text('搜索设置').click()

**************************************************
执行完这段代码后,Traceback (most recent call last):
  File "D:\张艳\test\python\Irhate\windows.py", line 16, in <module>
    ActionChains(driver).move_to_element(above).perform()
  File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\common\action_chains.py", line 77, in perform
    self.w3c_actions.perform()
  File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\common\actions\action_builder.py", line 76, in perform
    self.driver.execute(Command.W3C_ACTIONS, enc)
  File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 249, in execute
    self.error_handler.check_response(response)
  File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 193, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Missing or invalid type argument for pointer action
而且用的别的方法,也找不到搜索设置这个元素,请大神这点迷津!

作者: finomy    时间: 2017-5-9 15:32
action=ActionChains(driver)
action.move_to_element(above)
action.perform()
WebDriverWait(driver,5).until(expected_conditions.visibility_of_element_located((By.CSS_SELECTOR,'#wrapper > div.bdpfmenu')))
driver.find_element_by_css_selector('#wrapper > div.bdpfmenu > a.setpref').click()
作者: cq520131517    时间: 2017-5-9 16:31
我觉得,我用Chrome运行你查找的元素是没有问题的,我觉得你的存文件的目录有问题,不应该有中文“张艳”,这是大忌。况且,你的错误提示并不是没有找到元素。不要张冠李戴。
作者: 清晨一缕阳光    时间: 2017-5-9 22:22
1.driver.get("http://www.baidu.com")。这句代码之后建议增加等待时间,等待网页加载完成。如果你的网速足够快,机器配置也比较高,能秒开,那完全可以不加。
2.存放代码的文件夹或者路径中不要包含中文。至于为什么很简单,这些开发语言不是中国人开发的。
3.你的报错信息提示很明确的,Missing or invalid type argument for pointer action;具体意思可以百度或者谷歌都行。明白了报错信息是什么意思。再去分析问题出在什么地方。





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2