如何使用dropitem python python selenium drag_and_drop(...

\u4f7f\u7528python\u600e\u6837\u5728csv\u6587\u4ef6\u4e2d\u63d2\u5165\u4e00\u884c\u6216\u5220\u9664\u6307\u5b9a\u884c

\u5220\u9664\u6307\u5b9a\u884c\uff1a
\u6bd4\u5982\u540d\u4e3aa\u7684\u6570\u636e\u8868\u4e2d\u7684\u6570\u636e\uff1a
index A B C

0 1 3 5
1 2 4 6

2 7 8 9

\u5220\u9664\u7b2c3\u5217\uff08\u7d22\u5f15\u4e3a2\u7684\u5217\uff09\uff1a
a.drop(2)

\u63d2\u5165\u7684\u65b9\u6cd5\uff0c\u7528insert\uff0c\u6216append\uff0c\u8be6\u7ec6\u4e3e\u4f8b\u89c1\uff1ahttp://www.jb51.net/article/63216.htm
\u8fd9\u4e2a\u9875\u9762\u7684\u524d\u4e09\u5206\u4e4b\u4e00\u5904\u6709\u6dfb\u52a0\u884c\u6570\u636e\u7684\u65b9\u6cd5\uff0c\u6ce8\u610f\u6dfb\u52a0\u7684\u65b0\u6570\u636e\u7684\u683c\u5f0f\u8ddf\u539f\u8868\u683c\u7684\u683c\u5f0f\u8981\u5339\u914d\u8d77\u6765\u3002

\u7528selenium\u505a\u81ea\u52a8\u5316\uff0c\u6709\u65f6\u5019\u4f1a\u9047\u5230\u9700\u8981\u6a21\u62df\u9f20\u6807\u64cd\u4f5c\u624d\u80fd\u8fdb\u884c\u7684\u60c5\u51b5\uff0c\u6bd4\u5982\u5355\u51fb\u3001\u53cc\u51fb\u3001\u70b9\u51fb\u9f20\u6807\u53f3\u952e\u3001\u62d6\u62fd\u7b49\u7b49\u3002\u800cselenium\u7ed9\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7c7b\u6765\u5904\u7406\u8fd9\u7c7b\u4e8b\u4ef6\u2014\u2014ActionChains
selenium.webdriver.common.action_chains.ActionChains(driver)
\u8fd9\u4e2a\u7c7b\u57fa\u672c\u80fd\u591f\u6ee1\u8db3\u6211\u4eec\u6240\u6709\u5bf9\u9f20\u6807\u64cd\u4f5c\u7684\u9700\u6c42\u3002
1.ActionChains\u57fa\u672c\u7528\u6cd5
\u9996\u5148\u9700\u8981\u4e86\u89e3ActionChains\u7684\u6267\u884c\u539f\u7406\uff0c\u5f53\u4f60\u8c03\u7528ActionChains\u7684\u65b9\u6cd5\u65f6\uff0c\u4e0d\u4f1a\u7acb\u5373\u6267\u884c\uff0c\u800c\u662f\u4f1a\u5c06\u6240\u6709\u7684\u64cd\u4f5c\u6309\u987a\u5e8f\u5b58\u653e\u5728\u4e00\u4e2a\u961f\u5217\u91cc\uff0c\u5f53\u4f60\u8c03\u7528perform()\u65b9\u6cd5\u65f6\uff0c\u961f\u5217\u4e2d\u7684\u65f6\u95f4\u4f1a\u4f9d\u6b21\u6267\u884c\u3002
\u8fd9\u79cd\u60c5\u51b5\u4e0b\u6211\u4eec\u53ef\u4ee5\u6709\u4e24\u79cd\u8c03\u7528\u65b9\u6cd5\uff1a
\u94fe\u5f0f\u5199\u6cd5
menu = driver.find_element_by_css_selector(".nav")hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()1
2
3
4
\u5206\u6b65\u5199\u6cd5
menu = driver.find_element_by_css_selector(".nav")hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")actions = ActionChains(driver)actions.move_to_element(menu)actions.click(hidden_submenu)actions.perform()1
2
3
4
5
6
7
\u4e24\u79cd\u5199\u6cd5\u672c\u8d28\u662f\u4e00\u6837\u7684\uff0cActionChains\u90fd\u4f1a\u6309\u7167\u987a\u5e8f\u6267\u884c\u6240\u6709\u7684\u64cd\u4f5c\u3002
2.ActionChains\u65b9\u6cd5\u5217\u8868
click(on_element=None) \u2014\u2014\u5355\u51fb\u9f20\u6807\u5de6\u952e
click_and_hold(on_element=None) \u2014\u2014\u70b9\u51fb\u9f20\u6807\u5de6\u952e\uff0c\u4e0d\u677e\u5f00
context_click(on_element=None) \u2014\u2014\u70b9\u51fb\u9f20\u6807\u53f3\u952e
double_click(on_element=None) \u2014\u2014\u53cc\u51fb\u9f20\u6807\u5de6\u952e
drag_and_drop(source, target) \u2014\u2014\u62d6\u62fd\u5230\u67d0\u4e2a\u5143\u7d20\u7136\u540e\u677e\u5f00
drag_and_drop_by_offset(source, xoffset, yoffset) \u2014\u2014\u62d6\u62fd\u5230\u67d0\u4e2a\u5750\u6807\u7136\u540e\u677e\u5f00
key_down(value, element=None) \u2014\u2014\u6309\u4e0b\u67d0\u4e2a\u952e\u76d8\u4e0a\u7684\u952e
key_up(value, element=None) \u2014\u2014\u677e\u5f00\u67d0\u4e2a\u952e
move_by_offset(xoffset, yoffset) \u2014\u2014\u9f20\u6807\u4ece\u5f53\u524d\u4f4d\u7f6e\u79fb\u52a8\u5230\u67d0\u4e2a\u5750\u6807
move_to_element(to_element) \u2014\u2014\u9f20\u6807\u79fb\u52a8\u5230\u67d0\u4e2a\u5143\u7d20
move_to_element_with_offset(to_element, xoffset, yoffset) \u2014\u2014\u79fb\u52a8\u5230\u8ddd\u67d0\u4e2a\u5143\u7d20\uff08\u5de6\u4e0a\u89d2\u5750\u6807\uff09\u591a\u5c11\u8ddd\u79bb\u7684\u4f4d\u7f6e
perform() \u2014\u2014\u6267\u884c\u94fe\u4e2d\u7684\u6240\u6709\u52a8\u4f5c
release(on_element=None) \u2014\u2014\u5728\u67d0\u4e2a\u5143\u7d20\u4f4d\u7f6e\u677e\u5f00\u9f20\u6807\u5de6\u952e
send_keys(*keys_to_send) \u2014\u2014\u53d1\u9001\u67d0\u4e2a\u952e\u5230\u5f53\u524d\u7126\u70b9\u7684\u5143\u7d20
send_keys_to_element(element, *keys_to_send) \u2014\u2014\u53d1\u9001\u67d0\u4e2a\u952e\u5230\u6307\u5b9a\u5143\u7d20
\u63a5\u4e0b\u6765\u7528\u793a\u4f8b\u6765\u8be6\u7ec6\u8bf4\u660e\u548c\u6f14\u793a\u6bcf\u4e00\u4e2a\u65b9\u6cd5\u7684\u7528\u6cd5\uff1a
3.\u4ee3\u7801\u793a\u4f8b
1. \u70b9\u51fb\u64cd\u4f5c
\u4ee3\u7801\uff1a
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom time import sleepdriver = webdriver.Firefox()driver.implicitly_wait(10)driver.maximize_window()driver.get('')click_btn = driver.find_element_by_xpath('//input[@value="click me"]') # \u5355\u51fb\u6309\u94aedoubleclick_btn = driver.find_element_by_xpath('//input[@value="dbl click me"]') # \u53cc\u51fb\u6309\u94aerightclick_btn = driver.find_element_by_xpath('//input[@value="right click me"]') # \u53f3\u952e\u5355\u51fb\u6309\u94aeActionChains(driver).click(click_btn).double_click(doubleclick_btn).context_click(rightclick_btn).perform() # \u94fe\u5f0f\u7528\u6cd5print driver.find_element_by_name('t2').get_attribute('value')sleep(2)driver.quit()1234567891011121314151617181920212223\u7ed3\u679c\uff1a
[CLICK][DOUBLE_CLICK][RIGHT_CLICK]12.\u9f20\u6807\u79fb\u52a8
\u793a\u4f8b\u4ee3\u7801\uff1a
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom time import sleepdriver = webdriver.Firefox()driver.implicitly_wait(10)driver.maximize_window()driver.get('')write = driver.find_element_by_xpath('//input[@value="Write on hover"]') # \u9f20\u6807\u79fb\u52a8\u5230\u6b64\u5143\u7d20\uff0c\u5728\u4e0b\u9762\u7684input\u6846\u4e2d\u4f1a\u663e\u793a\u201cMouse moved\u201dblank = driver.find_element_by_xpath('//input[@value="Blank on hover"]') # \u9f20\u6807\u79fb\u52a8\u5230\u6b64\u5143\u7d20\uff0c\u4f1a\u6e05\u7a7a\u4e0b\u9762input\u6846\u4e2d\u7684\u5185\u5bb9result = driver.find_element_by_name('t1')action = ActionChains(driver)action.move_to_element(write).perform() # \u79fb\u52a8\u5230write\uff0c\u663e\u793a\u201cMouse moved\u201dprint result.get_attribute('value')# action.move_to_element(blank).perform()action.move_by_offset(10, 50).perform() # \u79fb\u52a8\u5230\u8ddd\u79bb\u5f53\u524d\u4f4d\u7f6e(10,50)\u7684\u70b9\uff0c\u4e0e\u4e0a\u53e5\u6548\u679c\u76f8\u540c\uff0c\u79fb\u52a8\u5230blank\u4e0a\uff0c\u6e05\u7a7aprint result.get_attribute('value')action.move_to_element_with_offset(blank, 10, -40).perform() # \u79fb\u52a8\u5230\u8ddd\u79bbblank\u5143\u7d20(10,-40)\u7684\u70b9\uff0c\u53ef\u79fb\u52a8\u5230write\u4e0aprint result.get_attribute('value')sleep(2)driver.quit()1234567891011121314151617181920212223242526272829\u7ed3\u679c
Mouse movedMouse moved123\u4e00\u822c\u5f88\u5c11\u7528\u4f4d\u7f6e\u5173\u7cfb\u6765\u79fb\u52a8\u9f20\u6807\uff0c\u5982\u679c\u9700\u8981\uff0c\u53ef\u53c2\u8003\u4e0b\u9762\u7684\u94fe\u63a5\u6765\u6d4b\u91cf\u5143\u7d20\u4f4d\u7f6e
3.\u62d6\u62fd
\u4ee3\u7801\uff1a
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom time import sleepdriver = webdriver.Firefox()driver.implicitly_wait(10)driver.maximize_window()driver.get('ls.htm')dragger = driver.find_element_by_id('dragger') # \u88ab\u62d6\u62fd\u5143\u7d20item1 = driver.find_element_by_xpath('//div[text()="Item 1"]') # \u76ee\u6807\u5143\u7d201item2 = driver.find_element_by_xpath('//div[text()="Item 2"]') # \u76ee\u68072item3 = driver.find_element_by_xpath('//div[text()="Item 3"]') # \u76ee\u68073item4 = driver.find_element_by_xpath('//div[text()="Item 4"]') # \u76ee\u68074action = ActionChains(driver)action.drag_and_drop(dragger, item1).perform() # 1.\u79fb\u52a8dragger\u5230\u76ee\u68071sleep(2)action.click_and_hold(dragger).release(item2).perform() # 2.\u6548\u679c\u4e0e\u4e0a\u53e5\u76f8\u540c\uff0c\u4e5f\u80fd\u8d77\u5230\u79fb\u52a8\u6548\u679csleep(2)action.click_and_hold(dragger).move_to_element(item3).release().perform() # 3.\u6548\u679c\u4e0e\u4e0a\u4e24\u53e5\u76f8\u540c\uff0c\u4e5f\u80fd\u8d77\u5230\u79fb\u52a8\u7684\u6548\u679csleep(2)# action.drag_and_drop_by_offset(dragger, 400, 150).perform() # 4.\u79fb\u52a8\u5230\u6307\u5b9a\u5750\u6807action.click_and_hold(dragger).move_by_offset(400, 150).release().perform() # 5.\u4e0e\u4e0a\u4e00\u53e5\u76f8\u540c\uff0c\u79fb\u52a8\u5230\u6307\u5b9a\u5750\u6807sleep(2)driver.quit()12345678910111213141516171819202122232425262728\u7ed3\u679c\uff1a
dropped dropped dropped dropped1\u4e00\u822c\u7528\u5750\u6807\u5b9a\u4f4d\u5f88\u5c11\uff0c\u7528\u4e0a\u4f8b\u4e2d\u7684\u65b9\u6cd51\u8db3\u591f\u4e86\uff0c\u5982\u679c\u770b\u6e90\u7801\uff0c\u4f1a\u53d1\u73b0\u65b9\u6cd52\u5176\u5b9e\u5c31\u662f\u65b9\u6cd51\u4e2d\u7684drag_and_drop()\u7684\u5b9e\u73b0\u3002\u6ce8\u610f\uff1a\u62d6\u62fd\u4f7f\u7528\u65f6\u6ce8\u610f\u52a0\u7b49\u5f85\u65f6\u95f4\uff0c\u6709\u65f6\u4f1a\u56e0\u4e3a\u901f\u5ea6\u592a\u5feb\u800c\u5931\u8d25\u3002
4.\u6309\u952e
\u6a21\u62df\u6309\u952e\u6709\u591a\u79cd\u65b9\u6cd5\uff0c\u80fd\u7528win32api\u6765\u5b9e\u73b0\uff0c\u80fd\u7528SendKeys\u6765\u5b9e\u73b0\uff0c\u4e5f\u53ef\u4ee5\u7528selenium\u7684WebElement\u5bf9\u8c61\u7684send_keys()\u65b9\u6cd5\u6765\u5b9e\u73b0\uff0c\u8fd9\u91ccActionChains\u7c7b\u4e5f\u63d0\u4f9b\u4e86\u51e0\u4e2a\u6a21\u62df\u6309\u952e\u7684\u65b9\u6cd5\u3002
\u4ee3\u78011\uff1a
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom time import sleepdriver = webdriver.Firefox()driver.implicitly_wait(10)driver.maximize_window()driver.get('press.htm')key_up_radio = driver.find_element_by_id('r1') # \u76d1\u6d4b\u6309\u952e\u5347\u8d77key_down_radio = driver.find_element_by_id('r2') # \u76d1\u6d4b\u6309\u952e\u6309\u4e0bkey_press_radio = driver.find_element_by_id('r3') # \u76d1\u6d4b\u6309\u952e\u6309\u4e0b\u5347\u8d77enter = driver.find_elements_by_xpath('//form[@name="f1"]/input')[1] # \u8f93\u5165\u6846result = driver.find_elements_by_xpath('//form[@name="f1"]/input')[0] # \u76d1\u6d4b\u7ed3\u679c# \u76d1\u6d4bkey_downkey_down_radio.click()ActionChains(driver).key_down(Keys.CONTROL, enter).key_up(Keys.CONTROL).perform()print result.get_attribute('value')# \u76d1\u6d4bkey_upkey_up_radio.click()enter.click()ActionChains(driver).key_down(Keys.SHIFT).key_up(Keys.SHIFT).perform()print result.get_attribute('value')# \u76d1\u6d4bkey_presskey_press_radio.click()enter.click()ActionChains(driver).send_keys('a').perform()print result.get_attribute('value')driver.quit()1234567891011121314151617181920212223242526272829303132333435\u7ed3\u679c\uff1a
key downed charCode=[0] keyCode=[17] CTRLkey upped charCode=[0] keyCode=[16] NONEkey pressed charCode=[97] keyCode=[0] NONE123\u793a\u4f8b2\uff1a
\u4ee3\u7801\uff1a
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.keys import Keysfrom time import sleepdriver = webdriver.Firefox()driver.implicitly_wait(10)driver.maximize_window()driver.get('hel.htm')input1 = driver.find_elements_by_tag_name('input')[3]input2 = driver.find_elements_by_tag_name('input')[4]action = ActionChains(driver)input1.click()action.send_keys('Test Keys').perform()action.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform() # ctrl+aaction.key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() # ctrl+caction.key_down(Keys.CONTROL, input2).send_keys('v').key_up(Keys.CONTROL).perform() # ctrl+vprint input1.get_attribute('value')print input2.get_attribute('value')driver.quit()12345678910111213141516171819202122232425262728\u7ed3\u679c\uff1a
Test KeysTest Keys12\u590d\u5236\u7c98\u8d34\u7528WebElement.send_keys()\u4e5f\u80fd\u5b9e\u73b0\uff0c\u5927\u5bb6\u53ef\u4ee5\u8bd5\u4e00\u4e0b\uff0c\u4e5f\u53ef\u4ee5\u7528\u66f4\u5e95\u5c42\u7684\u65b9\u6cd5\uff0c\u540c\u65f6\u4e5f\u662fos\u5f39\u6846\u7684\u5904\u7406\u529e\u6cd5\u4e4b\u4e00\u7684win32api\uff0c\u6709\u5174\u8da3\u4e5f\u53ef\u4ee5\u8bd5\u8bd5SendKeys\u3001keybd_event

dropwhile(predicate, iterable):创建一个迭代器,只要函数predicate(item)为True,...2015-05-05Python中的localtime()

扩展阅读:paperpass免费入口 ... p绳使用方法图解 ... premium中文版官网入口 ... adobe premiere pro ... 妇科p16十是什么意思 ... premium官网下载 ... pitstop pro使用教程 ... premium手机版下载 ... 为什么pip install不能用 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网