﻿{"id":353,"date":"2020-07-09T06:13:51","date_gmt":"2020-07-08T22:13:51","guid":{"rendered":"https:\/\/byy3.com\/?p=353"},"modified":"2021-01-09T10:14:22","modified_gmt":"2021-01-09T02:14:22","slug":"seleniumpython%e7%8e%af%e5%a2%83%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/byy3.com\/?p=353","title":{"rendered":"Selenium+Python\u73af\u5883\u914d\u7f6e"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"Selenium-Python\u73af\u5883\u914d\u7f6e\">linux \u6302\u673apython\u7a0b\u5e8f\u8be6\u89e3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">selenium \u662f\u4e00\u5957\u5b8c\u6574\u7684web\u5e94\u7528\u7a0b\u5e8f\u81ea\u52a8\u5316\u6d4b\u8bd5\u7cfb\u7edf\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>\u5b89\u88c5selenium: pip3 install selenium<\/li><li>\u5b89\u88c5webdriver:<br>Chrome:&nbsp;<a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/chromedriver.storage.googleapis.com\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >http:\/\/chromedriver.storage.googleapis.com\/index.html<\/a><br>Chromium: sudo apt-get install chromium-chromedriver<br>Firefox:&nbsp;<a href=\"https:\/\/byy3.com\/go\/?url=https:\/\/github.com\/mozilla\/geckodriver\/releases\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >https:\/\/github.com\/mozilla\/geckodriver\/releases\/<\/a><br>\u6ce8\uff1awebdriver\u9700\u8981\u548c\u5bf9\u5e94\u7684\u6d4f\u89c8\u5668\u7248\u672c\u4ee5\u53caselenium\u7248\u672c\u5bf9\u5e94\u3002<\/li><li>webdriver\u5b89\u88c5\u8def\u5f84<br>Win: \u590d\u5236webdriver\u5230python\u5b89\u88c5\u76ee\u5f55\u4e0b<br>Linux\/Mac: \u590d\u5236webdriver\u5230\/usr\/local\/bin\u4e0b<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Selenium\u57fa\u672c\u64cd\u4f5c\u53ca\u5143\u7d20\u5b9a\u4f4d\">Selenium\u57fa\u672c\u64cd\u4f5c\u53ca\u5143\u7d20\u5b9a\u4f4d<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u542f\u52a8\u6d4f\u89c8\u5668\">\u542f\u52a8\u6d4f\u89c8\u5668<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u542f\u52a8Chrome\u6d4f\u89c8\u5668\">\u542f\u52a8Chrome\u6d4f\u89c8\u5668<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<\/td><td>from selenium import webdriver<br><br>driver = webdriver.Chrome()<br>driver.get('http:\/\/xxx.com')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u542f\u52a8Chromium\u6d4f\u89c8\u5668\">\u542f\u52a8Chromium\u6d4f\u89c8\u5668<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<\/td><td>from selenium import webdriver<br><br># apt-get\u5b89\u88c5webdriver\u8def\u5f84<br>driver = webdriver.Chrome('\/usr\/lib\/chromium-browser\/chromedriver')<br>driver.get('http:\/\/xxx.com')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u6307\u5b9a\u9a71\u52a8\u8def\u5f84\u542f\u52a8\">\u6307\u5b9a\u9a71\u52a8\u8def\u5f84\u542f\u52a8<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<\/td><td>from selenium import webdriver<br><br># \u9a71\u52a8\u6587\u4ef6\u8def\u5f84<br>driver_path = r'D:\\download\\chromedriver.exe'<br><br>driver = webdriver.Chrome(executable_path=driver_path)<br>driver.get('http:\/\/xxx.com')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Headless\u65b9\u5f0f\u542f\u52a8\">Headless\u65b9\u5f0f\u542f\u52a8<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Headless Chrome \u662f Chrome \u6d4f\u89c8\u5668\u7684\u65e0\u754c\u9762\u5f62\u6001\uff0c\u53ef\u4ee5\u5728\u4e0d\u6253\u5f00\u6d4f\u89c8\u5668\u7684\u524d\u63d0\u4e0b\uff0c\u4f7f\u7528\u6240\u6709 Chrome \u652f\u6301\u7684\u7279\u6027\u8fd0\u884c\u4f60\u7684\u7a0b\u5e8f\u3002code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<\/td><td>from selenium import webdriver<br><br># \u4e0d\u663e\u793a\u56fe\u5f62\u5316\u754c\u9762<br>option = webdriver.ChromeOptions()<br># \u589e\u52a0\u65e0\u754c\u9762\u9009\u9879<br>option.add_argument(\"--headless\")<br># \u5982\u679c\u4e0d\u589e\u52a0\u8fd9\u4e2a\u9009\u9879\uff0c\u6709\u65f6\u5b9a\u4f4d\u4f1a\u51fa\u95ee\u9898<br>option.add_argument(\"--disable-gpu\")<br># \u8ba9Chrome\u5728root\u6743\u9650\u4e0b\u8dd1<br>option.add_argument('--no-sandbox')<br><br>option.add_argument('--disable-dev-shm-usage')<br><br>driver = webdriver.Chrome(chrome_options=option)<br>driver.get('http:\/\/xxx.com')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u5143\u7d20\u5b9a\u4f4d\">\u5143\u7d20\u5b9a\u4f4d<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"id\u5b9a\u4f4d\uff1afind-element-by-id\">id\u5b9a\u4f4d\uff1afind_element_by_id()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7id\u5b9a\u4f4d\uff0c\u5e76\u8f93\u5165\u503cselenium<br>driver.find_element_by_id('kw').send_keys('selenium')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"name\u5b9a\u4f4d\uff1a-find-element-by-name\">name\u5b9a\u4f4d\uff1a find_element_by_name()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7name\u5b9a\u4f4d\uff0c\u5e76\u8f93\u5165\u503cselenium<br>driver.find_element_by_name('wd').send_keys('selenium')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"class\u5b9a\u4f4d\uff1afind-element-by-class-name\">class\u5b9a\u4f4d\uff1afind_element_by_class_name()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7class\u5b9a\u4f4d\uff0c\u5e76\u8f93\u5165\u503cselenium<br>driver.find_element_by_class('wd').send_keys('selenium')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"tag\u5b9a\u4f4d\uff1afind-element-by-tag-name\">tag\u5b9a\u4f4d\uff1afind_element_by_tag_name()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">HTML\u662f\u901a\u8fc7tag\u6765\u5b9a\u4e49\u529f\u80fd\u7684\uff0c\u6bd4\u5982input\u662f\u8f93\u5165\uff0ctable\u662f\u8868\u683c\u3002<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7tag\u5b9a\u4f4d\uff0c\u5e76\u8f93\u5165\u503cselenium<br>driver.find_element_by_tag('input').send_keys('selenium')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"link\u5b9a\u4f4d\uff1afind-element-by-link-text\">link\u5b9a\u4f4d\uff1afind_element_by_link_text()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b64\u79cd\u65b9\u6cd5\u662f\u4e13\u95e8\u7528\u6765\u5b9a\u4f4d\u6587\u672c\u94fe\u63a5\u7684\uff0c\u6bd4\u5982\u767e\u5ea6\u9996\u9875\u53f3\u4e0a\u89d2\u6709\u201c\u65b0\u95fb\u201d\uff0c\u201c\u5730\u56fe\u201d\u7b49\u94fe\u63a5\u3002<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7link\u5b9a\u4f4d\"\u65b0\u95fb\"\u8fd9\u4e2a\u94fe\u63a5\u5e76\u70b9\u51fb<br>driver.find_element_by_link_text('\u65b0\u95fb').click()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"partial-link\u5b9a\u4f4d\uff1afind-element-by-partial-link-text\">partial_link\u5b9a\u4f4d\uff1afind_element_by_partial_link_text()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6709\u65f6\u5019\u4e00\u4e2a\u8d85\u94fe\u63a5\u7684\u6587\u672c\u5f88\u957f\u5f88\u957f\uff0c\u6211\u4eec\u5982\u679c\u5168\u90e8\u8f93\u5165\uff0c\u65e2\u9ebb\u70e6\uff0c\u53c8\u663e\u5f97\u4ee3\u7801\u5f88\u4e0d\u7f8e\u89c2\uff0c\u8fd9\u65f6\u5019\u6211\u4eec\u5c31\u53ef\u4ee5\u53ea\u622a\u53d6\u4e00\u90e8\u5206\u5b57\u7b26\u4e32\uff0c\u7528\u8fd9\u79cd\u65b9\u6cd5\u6a21\u7cca\u5339\u914d\u4e86\u3002<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7partial_link\u5b9a\u4f4d\"\u65b0\u95fb\"\u8fd9\u4e2a\u94fe\u63a5\u5e76\u70b9\u51fb<br>driver.find_element_by_partial_link_text('\u95fb').click()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"xpath\u5b9a\u4f4d\uff1afind-element-by-xpath\">xpath\u5b9a\u4f4d\uff1afind_element_by_xpath()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7xpath\u5b9a\u4f4d\u641c\u7d22\u6846\uff0c\u5e76\u8f93\u5165selenium<br>driver.find_element_by_xpath(\"\/\/*[@id='kw']\").send_keys('selenium')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"CSS\u5b9a\u4f4d\uff1afind-element-by-css-selector\">CSS\u5b9a\u4f4d\uff1afind_element_by_css_selector()<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u901a\u8fc7CSS\u5b9a\u4f4d\u641c\u7d22\u6846\uff0c\u5e76\u8f93\u5165selenium<br>driver.find_element_by_css_selector('#kw').send_keys('selenium')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"jQuery\u5b9a\u4f4d\">jQuery\u5b9a\u4f4d<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u57fa\u7840\u8bed\u6cd5\u662f(selector).action()(selector).action()\u7b26\u53f7\u5b9a\u4e49jQuery\uff0cselector\u9009\u62e9\u5668\u7528\u6765\u67e5\u8be2\u5177\u4f53\u7684HTML\u5143\u7d20\uff0c\u901a\u8fc7action()\u6765\u6267\u884c\u5bf9\u5143\u7d20\u7684\u5177\u4f53\u64cd\u4f5c\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5176\u4e2d\u6211\u4eec\u7ecf\u5e38\u7528\u5230\u7684action()\u5728jq\u4e2d\u6709\u8fd9\u4e48\u51e0\u79cd\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>$(selector).val(\u2018input_value\u2019) \u5176\u4e2dinput_value\u8868\u793a\u8981\u8f93\u5165\u7684\u6587\u672c\u7684\u503c<\/li><li>$(selector).val(\u2018\u2019) \u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u6267\u884c\u540e\u662f\u6e05\u7a7a\u7684\u610f\u601d<\/li><li>$(selector).click()<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<\/td><td>search_jq = \"$('#kw').val('selenium')\"<br>button_jq = \"$('.s_btn').click()\"<br>driver.execute_script(search_jq)<br>driver.execute_script(button_jq)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Selenium\u4e09\u79cd\u7b49\u5f85\u65b9\u5f0f\">Selenium\u4e09\u79cd\u7b49\u5f85\u65b9\u5f0f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6709\u65f6\u5019\u4e3a\u4e86\u4fdd\u8bc1\u811a\u672c\u8fd0\u884c\u7684\u7a33\u5b9a\u6027\uff0c\u9700\u8981\u811a\u672c\u4e2d\u6dfb\u52a0\u7b49\u5f85\u65f6\u95f4\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u5f3a\u5236\u7b49\u5f85\">\u5f3a\u5236\u7b49\u5f85<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f3a\u5236\u7b49\u5f85\uff1a\u4e0d\u7ba1\u6d4f\u89c8\u5668\u662f\u5426\u52a0\u8f7d\u5b8c\u4e86\uff0c\u7a0b\u5e8f\u90fd\u5f97\u7b49\u5f853\u79d2\uff0c3\u79d2\u4e00\u5230\uff0c\u7ee7\u7eed\u6267\u884c\u4e0b\u9762\u7684\u4ee3\u7801\u3002<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<\/td><td>from selenium import webdriver<br>import time<br><br>driver = webdriver.Chrome()<br>driver.get('http:\/\/xxx.com')<br><br>time.sleep(3)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u9690\u5f62\u7b49\u5f85\">\u9690\u5f62\u7b49\u5f85<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u9690\u6027\u7b49\u5f85\uff1a\u901a\u8fc7\u6dfb\u52a0 implicitly_wait() \u65b9\u6cd5\u5c31\u53ef\u4ee5\u5728\u4e00\u4e2a\u65f6\u95f4\u8303\u56f4\u5185\u667a\u80fd\u7684\u7b49\u5f85\u3002<br>\u9690\u5f62\u7b49\u5f85\u662f\u8bbe\u7f6e\u4e86\u4e00\u4e2a\u6700\u957f\u7b49\u5f85\u65f6\u95f4\uff0c\u5982\u679c\u5728\u89c4\u5b9a\u65f6\u95f4\u5185\u7f51\u9875\u52a0\u8f7d\u5b8c\u6210\uff0c\u5219\u6267\u884c\u4e0b\u4e00\u6b65\uff0c\u5426\u5219\u4e00\u76f4\u7b49\u5230\u65f6\u95f4\u622a\u6b62\uff0c\u7136\u540e\u6267\u884c\u4e0b\u4e00\u6b65\u3002<br>\u9690\u6027\u7b49\u5f85\u5bf9\u6574\u4e2adriver\u7684\u5468\u671f\u90fd\u8d77\u4f5c\u7528\uff0c\u6240\u4ee5\u53ea\u8981\u8bbe\u7f6e\u4e00\u6b21\u5373\u53ef\u3002<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<\/td><td>from selenium import webdriver<br><br>driver = webdriver.Chrome()<br><br># \u6700\u957f\u7b49\u5f8530s<br>driver.implicitly_wait(30)<br>driver.get('http:\/\/xxx.com')<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u663e\u6027\u7b49\u5f85\">\u663e\u6027\u7b49\u5f85<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u663e\u6027\u7b49\u5f85\uff1aWebDriverWait\uff0c\u914d\u5408\u8be5\u7c7b\u7684until()\u548cuntil_not()\u65b9\u6cd5\uff0c\u5c31\u80fd\u591f\u6839\u636e\u5224\u65ad\u6761\u4ef6\u800c\u8fdb\u884c\u7075\u6d3b\u5730\u7b49\u5f85\u4e86\u3002\u5b83\u4e3b\u8981\u7684\u610f\u601d\u5c31\u662f\uff1a\u7a0b\u5e8f\u6bcf\u9694n\u79d2\u770b\u4e00\u773c\uff0c\u5982\u679c\u6761\u4ef6\u6210\u7acb\u4e86\uff0c\u5219\u6267\u884c\u4e0b\u4e00\u6b65\uff0c\u5426\u5219\u7ee7\u7eed\u7b49\u5f85\uff0c\u76f4\u5230\u8d85\u8fc7\u8bbe\u7f6e\u7684\u6700\u957f\u65f6\u95f4\uff0c\u7136\u540e\u629b\u51faTimeoutException\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u6d4f\u89c8\u5668\u64cd\u4f5c\">\u6d4f\u89c8\u5668\u64cd\u4f5c<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u6d4f\u89c8\u5668\u6700\u5927\u5316\u3001\u6700\u5c0f\u5316\">\u6d4f\u89c8\u5668\u6700\u5927\u5316\u3001\u6700\u5c0f\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td>driver.maximize_window()<br>driver.minimize_window()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u8bbe\u7f6e\u7a97\u53e3\u5927\u5c0f\">\u8bbe\u7f6e\u7a97\u53e3\u5927\u5c0f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td># \u5bbd480\uff0c\u9ad8800<br>driver.set_window_size(480,800)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u524d\u8fdb\u540e\u9000\">\u524d\u8fdb\u540e\u9000<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<\/td><td>driver.forword()<br>driver.back()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"\u6d4f\u89c8\u5668\u6807\u7b7e\u9875\u8df3\u8f6c\">\u6d4f\u89c8\u5668\u6807\u7b7e\u9875\u8df3\u8f6c<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<\/td><td>from selenium.webdriver.common.action_chains import ActionChains<br><br># \u6253\u5f00\u65b0\u7684\u9875\u9762\u4e4b\u540e<br>driver.switch_to.window(driver.window_handles[1])<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u64cd\u4f5c\u6d4b\u8bd5\u5bf9\u8c61\">\u64cd\u4f5c\u6d4b\u8bd5\u5bf9\u8c61<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">webdriver \u4e2d\u6bd4\u8f83\u5e38\u7528\u7684\u64cd\u4f5c\u5bf9\u8c61\u7684\u65b9\u6cd5\u6709\u4e0b\u9762\u51e0\u4e2a\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>click\uff1a\u70b9\u51fb\u5bf9\u8c61<\/li><li>send_keys\uff1a\u5728\u5bf9\u8c61\u4e0a\u6a21\u62df\u6309\u952e\u8f93\u5165<\/li><li>clear\uff1a\u6e05\u9664\u5bf9\u8c61\u7684\u5185\u5bb9\uff0c\u5982\u679c\u53ef\u4ee5\u7684\u8bdd<\/li><li>submit\uff1a\u63d0\u4ea4\u5bf9\u8c61\u7684\u5185\u5bb9\uff0c\u5982\u679c\u53ef\u4ee5\u7684\u8bdd<\/li><li>text\uff1a\u7528\u4e8e\u83b7\u53d6\u5143\u7d20\u7684\u6587\u672c\u4fe1\u606f<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u9f20\u6807\u65f6\u95f4\">\u9f20\u6807\u65f6\u95f4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u9f20\u6807\u4e8b\u4ef6\u4e00\u822c\u5305\u62ec\u9f20\u6807\u53f3\u952e\u3001\u53cc\u51fb\u3001\u62d6\u52a8\u3001\u79fb\u52a8\u9f20\u6807\u5230\u67d0\u4e2a\u5143\u7d20\u4e0a\u7b49\u7b49\u3002<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<\/td><td>from selenium.webdriver.common.action_chains import ActionChains<br><br># ActionChains \u5e38\u7528\u65b9\u6cd5\uff1a<br># perform() \u6267\u884c\u6240\u6709ActionChains \u4e2d\u5b58\u50a8\u7684\u884c\u4e3a<br># context_click() \u53f3\u51fb<br># double_click() \u53cc\u51fb<br># drag_and_drop() \u62d6\u52a8<br># move_to_element() \u9f20\u6807\u60ac\u505c<br><br># \u5c06\u9f20\u6807\u79fb\u52a8\u5230\u9875\u9762\u7edd\u5bf9\u4f4d\u7f6e\u5e76\u70b9\u51fb<br>ActionChains(driver).move_by_offset(100, 230).click().perform()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u591a\u5c42\u6846\u67b6\u3001\u5c42\u7ea7\u5b9a\u4f4d\">\u591a\u5c42\u6846\u67b6\u3001\u5c42\u7ea7\u5b9a\u4f4d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9a\u4f4d\u5143\u7d20\u8fc7\u7a0b\u4e2d\u7ecf\u5e38\u4f1a\u9047\u5230\u627e\u4e0d\u5230\u5143\u7d20\u7684\u95ee\u9898\uff0c\u51fa\u73b0\u8be5\u95ee\u9898\u4e00\u822c\u90fd\u662f\u4ee5\u4e0b\u56e0\u7d20\u5bfc\u81f4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>\u5143\u7d20\u5b9a\u4f4d\u65b9\u6cd5\u4e0d\u5bf9<\/li><li>\u9875\u9762\u5b58\u5728iframe\u6216\u5185\u5d4c\u7a97\u53e3<\/li><li>\u9875\u9762\u8d85\u65f6<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">webdriver \u63d0\u4f9b\u4e86\u4e00\u4e2a switch_to_frame \u65b9\u6cd5\uff0c\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u6765\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>driver.switch_to_frame(\"f1\")<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u5173\u95ed\u6d4f\u89c8\u5668\">\u5173\u95ed\u6d4f\u89c8\u5668<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>driver.quit()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u4f7f\u7528shell\u811a\u672c\u8fd0\u884c\u7f51\u9875\u81ea\u52a8\u5316\u7a0b\u5e8f\">\u4f7f\u7528shell\u811a\u672c\u8fd0\u884c\u7f51\u9875\u81ea\u52a8\u5316\u7a0b\u5e8f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<\/td><td>#! \/bin\/bash<br><br># \u8fdb\u5165\u811a\u672c\u6587\u4ef6\u8def\u5f84<br>cd \/home\/pi\/autoWeb<br><br># \u8bb0\u5f55\u8c03\u7528\u65f6\u95f4<br>echo $(date \"+%Y-%m-%d %H:%M:%S\") &gt;&gt; \/home\/pi\/autoWeb\/log.txt<br><br>python3 autoWeb_c.py<br>echo \"Complete the form - cui\" &gt;&gt; \/home\/pi\/autoWeb\/log.txt<br><br># shell\u4e2d\u4f7f\u7528\u7b26\u53f7\u201c$?\u201d\u6765\u663e\u793a\u4e0a\u4e00\u6761\u547d\u4ee4\u6267\u884c\u7684\u8fd4\u56de\u503c\uff0c\u5982\u679c\u4e3a0\u5219\u4ee3\u8868\u6267\u884c\u6210\u529f\uff0c\u5176\u4ed6\u8868\u793a\u5931\u8d25<br>if [$? -ne 0]; then<br>echo \"fail: cui\" &gt;&gt; \/home\/pi\/autoWeb\/log.txt<br>else<br>python3 autoWeb_l.py<br>echo \"Complete the form - liu\" &gt;&gt; \/home\/pi\/autoWeb\/log.txt<br>fi<br><br>echo \"\" &gt;&gt; \/home\/pi\/autoWeb\/log.txt<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Linux\u6267\u884c\u5b9a\u65f6\u4efb\u52a1\uff1aCron\">Linux\u6267\u884c\u5b9a\u65f6\u4efb\u52a1\uff1aCron<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">linux\u5185\u7f6e\u7684cron\u8fdb\u7a0b\u80fd\u5e2e\u6211\u4eec\u5b9e\u73b0\u5b9a\u65f6\u4efb\u52a1\u3002code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<\/td><td>crontab -e (\u7f16\u8f91\u5de5\u4f5c\u8868)<br>crontab -l (\u5217\u51fa\u5de5\u4f5c\u8868\u91cc\u7684\u547d\u4ee4)<br>crontab -r (\u5220\u9664\u5de5\u4f5c\u4f5c)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">crontab -e\u8fdb\u5165\u5f53\u524d\u7528\u6237\u7684\u5de5\u4f5c\u8868\u7f16\u8f91\uff0c\u662f\u5e38\u89c1\u7684vim\u754c\u9762\u3002\u6bcf\u884c\u662f\u4e00\u6761\u547d\u4ee4\u3002<br>crontab\u7684\u547d\u4ee4\u6784\u6210\u4e3a \u65f6\u95f4+\u52a8\u4f5c\uff0c\u5176\u65f6\u95f4\u6709\u5206\u3001\u65f6\u3001\u65e5\u3001\u6708\u3001\u5468\u4e94\u79cd\u3002code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<\/td><td># \u5b9e\u4f8b1\uff1a\u6bcf1\u5206\u949f\u6267\u884c\u4e00\u6b21myCommand<br>* * * * * myCommand<br><br># \u5b9e\u4f8b2\uff1a\u6bcf\u5c0f\u65f6\u7684\u7b2c3\u548c\u7b2c15\u5206\u949f\u6267\u884c<br>3,15 * * * * myCommand<br><br># \u5b9e\u4f8b3\uff1a\u5728\u4e0a\u53488\u70b9\u523011\u70b9\u7684\u7b2c3\u548c\u7b2c15\u5206\u949f\u6267\u884c<br>3,15 8-11 * * * myCommand<br><br># \u5b9e\u4f8b4\uff1a\u6bcf\u9694\u4e24\u5929\u7684\u4e0a\u53488\u70b9\u523011\u70b9\u7684\u7b2c3\u548c\u7b2c15\u5206\u949f\u6267\u884c<br>3,15 8-11 *\/2 * * myCommand<br><br># \u5b9e\u4f8b5\uff1a\u6bcf\u5468\u4e00\u4e0a\u53488\u70b9\u523011\u70b9\u7684\u7b2c3\u548c\u7b2c15\u5206\u949f\u6267\u884c<br>3,15 8-11 * * 1 myCommand<br><br># \u5b9e\u4f8b6\uff1a\u6bcf\u665a\u768421:30\u91cd\u542fsmb<br>30 21 * * * \/etc\/init.d\/smb restart<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bbe\u7f6e\u6bcf\u5929\u51cc\u6668\u5341\u4e8c\u70b9\u5341\u5206\u8c03\u7528\u7f51\u9875\u81ea\u52a8\u5316\u811a\u672c<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>10 00 * * * \/home\/pi\/autoWeb\/autoWeb.sh<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cd\u542fcron\u670d\u52a1<br>code<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>service cron restart<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/byy3.com\/go\/?url=https:\/\/www.williamchoe.com\/tags\/python\/\" rel=\"nofollow\" >python<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>linux \u6302\u673apython\u7a0b\u5e8f\u8be6\u89e3 selenium \u662f\u4e00\u5957\u5b8c\u6574\u7684web\u5e94\u7528\u7a0b\u5e8f\u81ea\u52a8\u5316\u6d4b\u8bd5\u7cfb\u7edf\u3002 \u5b89\u88c5\u6b65\u9aa4\uff1a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,20],"tags":[353,352],"class_list":["post-353","post","type-post","status-publish","format-standard","hentry","category-linux","category-python","tag-linux","tag-python"],"_links":{"self":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=353"}],"version-history":[{"count":0,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/353\/revisions"}],"wp:attachment":[{"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}