{"id":5406,"date":"2020-11-30T14:43:00","date_gmt":"2020-11-30T05:43:00","guid":{"rendered":"https:\/\/learningbox.co.jp\/?p=5406"},"modified":"2020-11-30T14:50:14","modified_gmt":"2020-11-30T05:50:14","slug":"blog_python-selenium","status":"publish","type":"post","link":"https:\/\/learningbox.co.jp\/en\/2020\/11\/30\/blog_python-selenium\/","title":{"rendered":"E2E automated testing with Python and Selenium"},"content":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\uff01\u3064\u3044\u6700\u8fd1\u958b\u767a\u90e8\u306b\u5165\u3063\u305f\u9ad8\u6a4b\u3067\u3059\u3002<br \/>\n\u81ea\u52d5\u5316\u696d\u52d9\u3092\u958b\u59cb\u3057\u3066\uff12\u9031\u9593\u304f\u3089\u3044\u7d4c\u3061\u307e\u3057\u305f\u3002\u9032\u3080\u5ea6\u306b\u58c1\u306b\u3042\u305f\u308a\u3001\u65e5\u3005\u60aa\u6226\u82e6\u95d8\u3057\u3066\u304a\u308a\u307e\u3059\u3002<br \/>\n\u4eca\u56de\u306e\u8a18\u4e8b\u3067\u306f<strong>Python\u3068Selenium<\/strong>\u3092\u4f7f\u3063\u3066\u3001Chrome\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u74b0\u5883\u69cb\u7bc9\u3068\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u306b\u95a2\u3057\u3066\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p class=\"mokujimidasi\">\u76ee\u6b21\u306f\u3053\u3061\u3089<\/p>\n<ul class=\"mokuji\">\n<li>1. Selenium\u3068\u306f<\/li>\n<li>2. \u74b0\u5883\u69cb\u7bc9<\/li>\n<li>3. \u5b9f\u969b\u306b\u52d5\u304b\u3057\u3066\u307f\u3088\u3046\uff01\uff01<\/li>\n<\/ul>\n<p><!-- \uff11 --><\/p>\n<h2>Selenium\u3068\u306f\uff1f<\/h2>\n<p>Selenium\uff08\u30bb\u30ec\u30cb\u30a6\u30e0\uff09\u306f\u30d6\u30e9\u30a6\u30b6\u306e\u30aa\u30fc\u30c8\u30e1\u30fc\u30b7\u30e7\u30f3\u30c4\u30fc\u30eb\u3067\u3059\u3002\u81ea\u52d5\u3067\u30d6\u30e9\u30a6\u30b6\u3092\u64cd\u4f5c\u3059\u308b\u3053\u3068\u3067Web\u30b5\u30a4\u30c8\u306e\u52d5\u4f5c\u306e\u30c6\u30b9\u30c8\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br \/>\n\u30af\u30ea\u30c3\u30af\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u3001\u753b\u9762\u60c5\u5831\u306e\u53d6\u5f97\u306a\u3069\u3001\u753b\u9762\u64cd\u4f5c\u3092\u81ea\u52d5\u3067\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><b>\u25bcSelenium.dev\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\uff08\u82f1\u8a9e\u306e\u307f\uff09\u306b\u3088\u308b\u3068\u3001<\/b><\/p>\n<blockquote><p>Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that.<\/p>\n<p>Boring web-based administration tasks can (and should) also be automated as well.<\/p>\n<p>\u516c\u5f0f\u30b5\u30a4\u30c8\uff1a<a href=\"https:\/\/www.selenium.dev\/\" target=\"_blank\" rel=\"noopener noreferrer\">selenium<\/a><\/p><\/blockquote>\n<p><!-- \uff12 --><\/p>\n<p>\u3068\u66f8\u304b\u308c\u3066\u304a\u308a\u3001Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c6\u30b9\u30c8\u81ea\u52d5\u5316\u3092\u884c\u3046\u305f\u3081\u306e\u30c7\u30d5\u30a1\u30af\u30c8\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u7684\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n<p>\u30c6\u30b9\u30c8\u4ee5\u5916\u306b\u3082\u30bf\u30b9\u30af\u306e\u81ea\u52d5\u5316\u3084Web\u30b5\u30a4\u30c8\u306e\u30af\u30ed\u30fc\u30ea\u30f3\u30b0\u304c\u4e3b\u306a\u7528\u9014\u3068\u306a\u308a\u307e\u3059\u3002<br \/>\n\u3055\u3089\u306bPython\u3068\u306e\u76f8\u6027\u3082\u3088\u304f\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u7d4c\u9a13\u306f\u3042\u307e\u308a\u7121\u3044\u304c\u3001\u30c6\u30b9\u30c8\u81ea\u52d5\u5316\u3092\u884c\u3044\u305f\u3044\u65b9\u306b\u306f\u5b9a\u756a\u306e\u7d44\u307f\u5408\u308f\u305b\u306e\u3088\u3046\u3067\u3059\u3002<\/p>\n<h2>\u74b0\u5883\u69cb\u7bc9<\/h2>\n<p>Selenium \u3092\u4f7f\u3063\u3066\u30d6\u30e9\u30a6\u30b6\u3092\u81ea\u52d5\u3067\u64cd\u4f5c\u3059\u308b\u306b\u306f\u4ee5\u4e0b\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>Web \u30d6\u30e9\u30a6\u30b6\n<ul>\u2517Chrome, Firefox, IE, Opera \u306a\u3069<\/ul>\n<\/li>\n<li>WebDriver\n<ul>\u2517\u30d6\u30e9\u30a6\u30b6\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e API \u3092\u516c\u958b\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb<\/ul>\n<\/li>\n<li>Selenium\n<ul>\u2517WebDriver \u3068\u901a\u4fe1\u3057\u30d7\u30ed\u30b0\u30e9\u30e0\u304b\u3089\u30d6\u30e9\u30a6\u30b6\u3092\u64cd\u4f5c\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea<\/ul>\n<\/li>\n<\/ul>\n<p>\u3053\u3053\u3067\u306f Python \u3067 Selenium \u3092\u4f7f\u3046\u5834\u5408\u306e\u74b0\u5883\u69cb\u7bc9\u306b\u3064\u3044\u3066\u3001\u30ed\u30fc\u30ab\u30eb PC \u306b\u76f4\u63a5\u74b0\u5883\u3092\u4f5c\u308b\u3084\u308a\u65b9\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<h2>\u30ed\u30fc\u30ab\u30eb\u306b\u74b0\u5883\u69cb\u7bc9<\/h2>\n<p>Windows \u306e\u30ed\u30fc\u30ab\u30eb\u4e0a\u3067 Selenium \u3092\u52d5\u304b\u3059\u5834\u5408\u306e\u74b0\u5883\u69cb\u7bc9\u65b9\u6cd5\u3092\u66f8\u304d\u307e\u3059\u3002<\/p>\n<p>\u3053\u3061\u3089\u306e\u65b9\u6cd5\u3067\u306f\u3053\u306e\u3088\u3046\u306a\u69cb\u6210\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n<a href=\"https:\/\/selenium.dev\/documentation\/en\/images\/basic_comms.png?width=400px\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/selenium.dev\/documentation\/en\/images\/basic_comms.png?width=400px\" alt=\"\" data-canonical-src=\"https:\/\/selenium.dev\/documentation\/en\/images\/basic_comms.png?width=400px\" \/><\/a><br \/>\n\u203b<a href=\"https:\/\/selenium.dev\/documentation\/en\/webdriver\/understanding_the_components\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Selenium \u516c\u5f0f\u30b5\u30a4\u30c8\u3088\u308a<\/a><\/p>\n<p>\u30d6\u30e9\u30a6\u30b6\u3068 WebDriver \u304c\u5168\u3066\u30ed\u30fc\u30ab\u30eb\u4e0a\u3067\u52d5\u3044\u3066\u3044\u3066\u3001Selenium \u306f\u30ed\u30fc\u30ab\u30eb\u306e Driver \u306b\u63a5\u7d9a\u3059\u308b\u5f62\u3067\u3059\u3002<\/p>\n<h3><strong>Chrome \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u78ba\u8a8d<\/strong><\/h3>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b WebDirver \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u6c7a\u3081\u308b\u305f\u3081\u306b\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b Chrome \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u50d5\u306e\u74b0\u5883\u3067\u306f <code>87.0.4280.66<\/code>\u00a0\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-5413 size-full\" src=\"https:\/\/tatsuno-system.co.jp\/wp-content\/uploads\/2020\/11\/2020-11-26_13-29-20.png\" alt=\"\" width=\"872\" height=\"240\" srcset=\"https:\/\/learningbox.co.jp\/wp-content\/uploads\/2020\/11\/2020-11-26_13-29-20.png 872w, https:\/\/learningbox.co.jp\/wp-content\/uploads\/2020\/11\/2020-11-26_13-29-20-300x83.png 300w, https:\/\/learningbox.co.jp\/wp-content\/uploads\/2020\/11\/2020-11-26_13-29-20-768x211.png 768w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/p>\n<h3><strong>WebDriver \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><\/h3>\n<p>Chrome \u306e WebDriver \u306e\u30d0\u30a4\u30ca\u30ea\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<br \/>\n\u4e0b\u8a18\u306e\u30b5\u30a4\u30c8\u306b\u884c\u304d\u81ea\u5206\u306e\u30d6\u30e9\u30a6\u30b6\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u6700\u3082\u8fd1\u3044driver\u306ebinary\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059<\/p>\n<p><a href=\"https:\/\/chromedriver.chromium.org\/downloads\">https:\/\/github.com\/danielkaiser\/python-chromedriver-binary<\/a><\/p>\n<h3><strong>Python \u306e Selenium \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0 \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><\/h3>\n<p>Python \u306e Selenium \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306f pip \u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre><span class=\"gp\">$<\/span> pip <span class=\"nb\">install selenium<\/span><\/pre>\n<h3><strong>\u52d5\u304b\u3057\u3066\u307f\u308b<\/strong><\/h3>\n<p>\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3067 Selenium \u3092\u52d5\u304b\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre><span class=\"kn\">#webdriver\u3092import\u3059\u308b \r\nfrom<\/span> <span class=\"nn\">selenium<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">webdriver\r\n<\/span>\r\n<span class=\"c1\"># WebDriver \u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8a2d\u5b9a\u3059\u308b\r\n<\/span><span class=\"n\">options<\/span> <span class=\"o\">=<\/span> <span class=\"n\">webdriver<\/span><span class=\"p\">.<\/span><span class=\"n\">ChromeOptions<\/span><span class=\"p\">()<\/span>\r\n<span class=\"n\">options<\/span><span class=\"p\">.<\/span><span class=\"n\">add_argument<\/span><span class=\"p\">(<\/span><span class=\"s\">'--headless'<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"s\">'connectiong to remote browser...'<\/span><span class=\"p\">)<\/span>\r\nChrome = webdriver.Chrome(executable_path=r\"your\/path\/to\/chromedriver.exe\") \r\ndriver = Chrome\r\n\r\n<span class=\"n\">driver<\/span><span class=\"p\">.<\/span><span class=\"n\">get<\/span><span class=\"p\">(<\/span><span class=\"s\">'https:\/\/python.org'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">driver<\/span><span class=\"p\">.<\/span><span class=\"n\">current_url<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c1\"># \u30d6\u30e9\u30a6\u30b6\u3092\u7d42\u4e86\u3059\u308b\r\n<\/span><span class=\"n\">driver<\/span><span class=\"p\">.<\/span><span class=\"n\">quit<\/span><span class=\"p\">()<\/span><\/pre>\n<p>\u4e0a\u8a18\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3068 PC \u3067 Chrome \u304c\u8d77\u52d5\u3057\u307e\u3059\u3002<br \/>\n<code>options.add_argument('--headless')<\/code>\u00a0\u306e\u90e8\u5206\u3092\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3059\u308b\u3068\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u52d5\u3044\u3066\u3044\u308b\u69d8\u5b50\u3092\u898b\u3066\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<h1><strong>\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9<\/strong><\/h1>\n<p>Selenium \u3092\u4f7f\u3046\u305f\u3081\u306e\u74b0\u5883\u69cb\u7bc9\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3067\u5b9f\u969b\u306b\u3069\u306e\u3088\u3046\u306b\u4f7f\u3046\u306e\u304b\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2><strong>\u3084\u308a\u305f\u3044\u3053\u3068<\/strong><\/h2>\n<p>\u305d\u308c\u3067\u306f Selenium \u3067 Chrome \u3092\u52d5\u304b\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u64cd\u4f5c\u3092\u3084\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<ol>\n<li>Python.org\u306etoppage\u306e\u30b5\u30fc\u30c1\u30d0\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b<br \/>\n<a class=\"autolink\" href=\"https:\/\/pyhton.org\">https:\/\/pyhton.org<\/a><\/li>\n<li>\u30b5\u30fc\u30c1\u30d0\u30fc\u306b\u300clist\u300d\u3068\u5165\u529b\u3057\u3066\u300cGo\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af<\/li>\n<li>\u9077\u79fb\u5148\u306e\u30da\u30fc\u30b8\u306b\u3042\u308b\u300clist comprehension\u300d\u306e\u30ea\u30f3\u30af\u3092\u7fd2\u5f97<\/li>\n<\/ol>\n<h2><strong>Python \u3067 Selenium \u3092\u52d5\u304b\u3059<\/strong><\/h2>\n<div class=\"code-frame\" data-lang=\"python\">\n<div class=\"highlight\">\n<div style=\"background: #ffffff; overflow: auto; width: auto; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\"><span style=\"color: #008800; font-weight: bold;\">from<\/span> <span style=\"color: #0e84b5; font-weight: bold;\">selenium<\/span> <span style=\"color: #008800; font-weight: bold;\">import<\/span> webdriver\r\n<span style=\"color: #008800; font-weight: bold;\">from<\/span> <span style=\"color: #0e84b5; font-weight: bold;\">selenium.webdriver.common.by<\/span> <span style=\"color: #008800; font-weight: bold;\">import<\/span> By\r\n<span style=\"color: #008800; font-weight: bold;\">import<\/span> <span style=\"color: #0e84b5; font-weight: bold;\">time<\/span>\r\n\r\n<span style=\"color: #888888;\">#driver\u306ePath\u3092\u8a2d\u5b9a\u3057\u3066driver\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/span>\r\nChrome <span style=\"color: #333333;\">=<\/span> webdriver<span style=\"color: #333333;\">.<\/span>Chrome(executable_path<span style=\"color: #333333;\">=<\/span><span style=\"background-color: #fff0f0;\">r\"your\/path\/to\/chromedriver.exe\"<\/span>)\r\ndriver <span style=\"color: #333333;\">=<\/span> Chrome\r\n\r\n<span style=\"color: #888888;\"># \u4eca\u56de\u306f\u5b9f\u969b\u306e\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u6319\u52d5\u3092\u898b\u305f\u3044\u306e\u3067\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<\/span>\r\n<span style=\"color: #888888;\"># \u3053\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u3092\u8d77\u52d5\u305b\u305a\u306b\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059<\/span>\r\n<span style=\"color: #888888;\"># options = webdriver.ChromeOptions()<\/span>\r\n<span style=\"color: #888888;\"># options.add_argument('--headless')<\/span>\r\n\r\n<span style=\"color: #888888;\"># 1. Python.org\u306e\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u30d6\u30e9\u30a6\u30b6\u3092\u6700\u5927\u5316\u3057\u307e\u3059<\/span>\r\ndriver<span style=\"color: #333333;\">.<\/span>get(<span style=\"background-color: #fff0f0;\">'https:\/\/pyhton.org'<\/span>)\r\ndriver<span style=\"color: #333333;\">.<\/span>maximize_window()\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(driver<span style=\"color: #333333;\">.<\/span>current_url)\r\n<span style=\"color: #888888;\"># &gt; https:\/\/pyhton.org<\/span>\r\n\r\n<span style=\"color: #888888;\"># 2. search\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u63a2\u3057\u3001\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u30af\u30ea\u30c3\u30af\u3002\u4e00\u65e6\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u30af\u30ea\u30a2\u3057\u3066\u300clist\u300d\u3068\u5165\u529b\u5f8c,\u300cGO\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9077\u79fb\u3059\u308b\u307e\u3067\uff11\u79d2\u9593\u306a\u306b\u3082\u3057\u306a\u3044<\/span>\r\nsearch_field <span style=\"color: #333333;\">=<\/span> driver<span style=\"color: #333333;\">.<\/span>find_element(By<span style=\"color: #333333;\">.<\/span>ID, <span style=\"background-color: #fff0f0;\">'id=\"id-search-field\"'<\/span>)\r\nsearch_field<span style=\"color: #333333;\">.<\/span>click()\r\nsearch_field<span style=\"color: #333333;\">.<\/span>clear()\r\nsearch_field<span style=\"color: #333333;\">.<\/span>send_keys(<span style=\"background-color: #fff0f0;\">\"list\"<\/span>)\r\ngo_button <span style=\"color: #333333;\">=<\/span> driver<span style=\"color: #333333;\">.<\/span>find_element(By<span style=\"color: #333333;\">.<\/span>ID, <span style=\"background-color: #fff0f0;\">'id=\"submit\"'<\/span>)\r\ngo_button<span style=\"color: #333333;\">.<\/span>click()\r\ntime<span style=\"color: #333333;\">.<\/span>sleep(<span style=\"color: #0000dd; font-weight: bold;\">1<\/span>)\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(driver<span style=\"color: #333333;\">.<\/span>current_url)\r\n<span style=\"color: #888888;\"># &gt; https:\/\/www.python.org\/search\/?q=list&amp;submit=<\/span>\r\n\r\n\r\n<span style=\"color: #888888;\"># 3. list comprehensions\u306e\u30bf\u30a4\u30c8\u30eb\u306b\u3042\u308b URL \u3092\u53d6\u5f97\u3059\u308b<\/span>\r\nlist_comprehension_link <span style=\"color: #333333;\">=<\/span> driver<span style=\"color: #333333;\">.<\/span>find_elements(By<span style=\"color: #333333;\">.<\/span>XPATH, <span style=\"background-color: #fff0f0;\">\"\/\/ul[@class='list-recent-events menu']\/li[13]\/\/a\"<\/span>)\r\n<span style=\"color: #008800; font-weight: bold;\">print<\/span>(list_comprehension_link<span style=\"color: #333333;\">.<\/span>get_attribute(<span style=\"background-color: #fff0f0;\">'href'<\/span>))\r\n<span style=\"color: #888888;\"># &gt; https:\/\/www.python.org\/dev\/peps\/pep-0202\/<\/span>\r\n\r\n<span style=\"color: #888888;\"># x. \u30d6\u30e9\u30a6\u30b6\u3092\u7d42\u4e86\u3059\u308b<\/span>\r\ndriver<span style=\"color: #333333;\">.<\/span>quit()<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>\u4ee5\u4e0a\u3001\u7c21\u5358\u306b\u5168\u4f53\u50cf\u3092\u8aac\u660e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u6b21\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001\u4e0a\u3067\u66f8\u3044\u305f\u30b3\u30fc\u30c9\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u3066\u3044\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"\u3053\u3093\u306b\u3061\u306f\uff01\u3064\u3044\u6700\u8fd1\u958b\u767a\u90e8\u306b\u5165\u3063\u305f\u9ad8\u6a4b\u3067\u3059\u3002 \u81ea\u52d5\u5316\u696d\u52d9\u3092\u958b\u59cb\u3057\u3066\uff12\u9031\u9593\u304f\u3089\u3044\u7d4c\u3061\u307e\u3057\u305f\u3002\u9032\u3080\u5ea6\u306b\u58c1\u306b\u3042\u305f\u308a\u3001 [&hellip;]","protected":false},"author":38,"featured_media":5442,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","footnotes":""},"categories":[6,7,40],"tags":[],"class_list":["post-5406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-7","category-40"],"acf":[],"jetpack_featured_media_url":"https:\/\/learningbox.co.jp\/wp-content\/uploads\/2020\/11\/2020-11-30_14-26-44.jpg","jetpack_shortlink":"https:\/\/wp.me\/pgMrZ4-1pc","_links":{"self":[{"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/posts\/5406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/comments?post=5406"}],"version-history":[{"count":20,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/posts\/5406\/revisions"}],"predecessor-version":[{"id":5453,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/posts\/5406\/revisions\/5453"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/media\/5442"}],"wp:attachment":[{"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/media?parent=5406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/categories?post=5406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learningbox.co.jp\/en\/wp-json\/wp\/v2\/tags?post=5406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}