avatar
Articles
37
Tags
17
Categories
0

Home
Cornflakes Diary
Home
Seleniumでブラウザを操作する
Created2021-09-08
C#で Selenium を使ってブラウザを操作する上で便利なコードを書いておきます。 指定した URL を新しいタブで開く123456// 新しいタブを開いて選択する((IJavaScriptExecutor)driver).ExecuteScript("window.open();");var newTab = driver.WindowHandles.Last();driver.SwitchTo().Window(newTab);// 指定したURLに遷移するdriver.Navigate().GoToUrl("http://example.com"); タブを選択するdriver.WindowHandlesに全タブの実体が入っているので、取り出してチェックしていけば OK です。 12345678910// 開いているタブからURLが"http://example.com"のタブを選択するvar handles = driver.WindowHandles;foreach (var handle in handles ...
C#でSeleniumを使ってブラウザ自動操作をする
Created2021-09-07
Selenium を使うと、ブラウザを自動で操作できます。使い方としては、① 要素を見つけて、② クリックなどの操作を行うことになります。 1. 要素を見つける要素を見つけるには、HTML の ID や Class 名、XPath を使うことができます。XPath を使うと柔軟に要素を探すことができます。 12// XPathを使う場合(Class名に"example"を含む要素)var element = driver.FindElement(By.XPath("//div[contains(@class, 'example')]")); XPath はこのページが分かりやすかったです。 クローラ作成に必須!XPATH の記法まとめ 要素が表示されるまで時間がかかる場合は、それまで待つ必要があります。 123// 要素が表示されるまで、最大5秒待つnew WebDriverWait(driver, TimeSpan.FromSeconds(5)) .Until(ExpectedConditions.ElementTo ...
C#でSelenium(ブラウザを自動操作)を使うための準備
Created2021-09-06
C#で Selenium を使ってブラウザ(Chrome)を自動で操作してみました。準備に必要な情報がちらばっていたので、まとめたいと思います。 Nuget からパッケージをインストール下記のパッケージをインストールします。 Selenium.WebDriver(必須) Selenium.WebDriver.ChromeDriver(必須) WebDriverManager(任意。Chrome 操作に必要な「ChromeDriver」最新版を自動取得) 一番下の「WebDriverManager」は任意ですがインストールした方が便利です。Selenium から Chrome を操作するためには対応したバージョンの「ドライバ」が必要です。Chrome は頻繁に更新されますが、「WebDriverManager」を使えばドライバを自動取得できます。 Selenium から Chrome を操作する12345678// ChromeDriver最新化new WebDriverManager.DriverManager().SetUpDriver(new ChromeConfig());/ ...
HttpRequestException:「Error while copying content to a stream.」の対策
Created2021-09-05
C#で HttpClient を使って、とある API からデータを取得していたのですがSystem.Net.Http.HttpRequestException: Error while copying content to a stream.が発生してしまいました。根本的な解決はできなかったのですが、調査した内容や実際にやった対策を書きます。 発生したエラーPrism(WPF)で HttpClient を使って API を呼び出すところで、エラーが発生したりしなかったりする状況でした。(発生条件は不明) .Net Framework 4.6.1 Visual Studio 2017 123456789101112// コード// 参照:https://dekirukigasuru.com/blog/2020/04/24/csharp-httpclientfactory/// Microsoft DependancyInjectionvar provider = new ServiceCollection().AddHttpClient().BuildServiceProvider ...
Dockerでfirebaseローカル実行ができなかった原因
Created2020-04-14
Docker で構築した開発環境で、firebase のローカル実行ができなった原因を解決したので書いておきます。 TL;DR Docker で firebase をローカル実行して、ホストから接続するには –host 0.0.0.0 が必要 12# hostオプションがないとホストのブラウザから閲覧不可$ firebase serve --host 0.0.0.0 firebase ローカル実行firabse はローカルで実行する機能があります。いちいちデプロイしてると時間がかかるので、ありがたいですね。 12# ローカルで実行$ firebase serve ローカル実行したのにつながらない…開発環境は次の記事を参考にして、Docker で構築していました。 [Firebase] Cloud Functions で消耗したくない人のために、開発環境のベストプラクティスをまとめていったら Docker に行き着いた話(随時更新) で、同じようにfirebase serveでローカル実行したのですが、ホストのブラウザからつながりませんでした。 firebase 起動時 ...
AtCoder Beginner Contest 162
Created2020-04-13
AtCoder Beginner Contest 162に参加したので、学んだことを書いておきます。 問題と結果 問題名 結果 A Lucky 7 WA:不正解 B FizzBuzz Sum AC:正解 C Sum of gcd of Tuples (Easy) TLE:実行時間制限超過 D RGB Triplets 未提出 E Sum of gcd of Tuples (Hard) 未提出 F Select Half 未提出 A:Lucky 73 桁の数値に「7」が含まれているかをチェックする問題でした。解けたはずなんですが、最後のテストケースで失敗していて原因はよく分からなかったです。 B:FizzBuzz Sum有名な「FizzBuzz 問題」で、Fizz、Buzz、FizzBuzz いずれでも無い場合の和を求めるという問題でした。単純だったので、これは解けました。 C:Sum of gcd of Tuples (Easy)3 つの変数 a, b, c があります。それぞれを 1 から与えられた数字まで増やしていき、全パターンで 3 つの数字の ...
SQLServerの日付
Created2020-04-10
TL;DR スラッシュ(/)区切りで日付を設定するときは、シングルクオーテーション(’)で囲む datetime 型に Insert しようとすると最近、Excel のデータを DB に投入する機会がありました。 単純に Insert 文を書いて入れようとしたのですが、データの種類として文字列や数値、そして日付が混ざっていたので「気をつけないと変に変換されそうだなー」と思っていました。 案の定、次のような SQL を書いて失敗しました。 12-- 日付を入れようとした失敗例INSERT INTO Table_1 VALUES (2020/1/1); このクエリを実行してもエラーは出ません。でも、実際に設定される値は想定とは異なります。 1234-- 実際に設定される値Datetime---------------------------1905-07-14 00:00:00.000 原因は…想定した「2020/1/1」が設定されなかった原因は、シングルクオーテーション(’)で囲んでいないからですね。 12-- 意図した日付が入る例INSERT INTO Table_1 VAL ...
デブスト2019に行ってきた
Created2019-12-10
デブスト(Developers Boost)2019(11/30開催)に行ってきました。次の2つの講演を聞いてきたので、内容と感想を書きたいと思います。 [A-5]打算的エンジニアの成長戦略~人より得意な部分で勝負する!~ [A-6]組織にモヤっとしたら聞く話 打算的エンジニアの成長戦略~人より得意な部分で勝負する!~ エムスリーキャリア 萩原氏 「打算的=利益を上げ、損失を下げる」に仕事をするために、得意なことで勝負されているそうです。そのために、次の3つのことを考えておられるとのことでした。 場所(業界):自分の得意に価値がある 得意を伸ばす:他人に追いつかれない 得意を増やす:得意の陳腐化を防ぐ また、転職後にチームになじむためにされたことも、興味深かったです。 チームの価値観を知る:よく使われている言葉から 抱えている課題を把握する:活発なチャットから 上記から、自分の得意を知る 「自分の得意」な部分で勝負できれば、仕事もうまくいくだろうなと思いました。そのための戦略も理解できたので、伸ばしていきたいです。 組織にモヤっとしたら聞く話 IMAGICA Lab. 蜂 ...
Next.jsでBootstrapを使う
Created2019-06-17
ReactのSSRフレームワーク”Next.js”で、Bootstrapを使う方法を書いておきます。 React BootstrapのインストールReact用のBootstrapとして、その名も “React Bootstrap“ がありますので、これを使います。 1npm install react-bootstrap bootstrap CSSの読み込みReact BootstrapにCSSは入っていないので、別途CSSを適用する必要があります。今回は、通常のBootstrapのものを使うことにします。 Next.jsでCSSファイルを適用するために@zeit/next-cssをインストールします。 1npm install --save @zeit/next-css 次に、CSSファイルを使うためBootstrap自体もインストールします。 1npm install bootstrap --save 準備ができたので、設定ファイルを書き換えとCSSを読み込みます。 123456// next.config.jsconst withCSS = require('@z ...
1TBもあるHyper-V仮想マシンを圧縮した
Created2019-05-28
Hyper-Vの仮想マシンを別のホストへ移行しようとしたのですが、サイズが問題となりました。移行先は800GBほどしか空いてないのに、仮想マシンは1TBもあったので縮小することにしました。 TL;DRHyper-Vの仮想マシンを圧縮するには、 仮想マシンをシャットダウンする Mount-VHD "VHD/VHDXファイルのパス" -NoDriveLetter -Readonly Optimize-VHD "VHD/VHDXファイルのパス" -Mode QuickまたはFull Dismount-VHD "VHD/VHDXファイルのパス" 仮想マシンの圧縮仮想マシン全体のサイズの大部分を占めるのが、仮想ディスク(VHD/VHDX)です。これを圧縮するためには「最適化」を行えばOKです。 手順としては、まず、仮想マシンをシャットダウンします。(「停止」は電源を抜く行為に相当するためやめましょう) 次に、仮想ディスクに対してコマンドを実行して最適化を行います。この際、ディスクのパスを指定するため、マシンを右クリックし、設定から確 ...
1234
avatar
ak2ie
プログラムを書きたい日々
Articles
37
Tags
17
Categories
0
Recent Post
書評「言語化の魔力」
書評「言語化の魔力」2025-08-12
書評「最高の集い方」
書評「最高の集い方」2025-07-12
日付の期間検索を設計するときに考えたこと
日付の期間検索を設計するときに考えたこと2025-05-27
前提を確認することの大切さ
前提を確認することの大切さ2025-05-26
書評「SCRUM BOOT CAMP THE BOOK」
書評「SCRUM BOOT CAMP THE BOOK」2025-01-31
Tags
AtCoder C# Hexo MOLD,ブロックチェーン Next.js ReactiveProperty SQLServer Selenium VSCode WakeOnLan firebase Docker flutter スクラム ドメイン駆動設計 書評 無人決済店舗 設計
Archives
  • 2025/081
  • 2025/071
  • 2025/052
  • 2025/011
  • 2024/111
  • 2024/041
  • 2023/103
  • 2023/062
Info
Article :
37
Last Push :
©2018 - 2025 By ak2ie
Framework Hexo|Theme Butterfly