Webページで定義された特定の要素を強調表示する有効な関数の作成に問題があります。私はコーディング初心者であり、問題は単純な環境設定の問題か、javascript / selenium機能に関する主要な知識の欠如のいずれかである可能性があることに注意してください。
スクリプトはEclipseNeonで作成します。環境をセットアップするために、Firefoxブラウザーで操作できるようにnode.jsとgeckodriverをインストールしました。私のスクリプトの始まりは次のとおりです。
var webdriver = require('selenium-webdriver'),
By = webdriver.By
var driver = new webdriver.Builder().forBrowser('firefox').build();
を使用してWebページを開き、driver.get();
xPathを使用して要素の場所を定義します。例:
var element = driver.findElement(By.xpath("xPath goes here"));
そして今、質問が始まります。たとえば、この指定された要素を強調表示するようにWebDriverを作成するにはどうすればよいですか。赤い境界線?スタックや他の同様のページを閲覧しているときに、私が見つけた唯一の答えは、Java構文でJavaScript Executorを使用すること、またはいくつかのWebドライバー関数を使用することについてでした。
element.style.backgroundColor = 'red'
しかし、コンソールエラーが発生します。それstyle
または、構文の他の部分が関数ではありません。この時点で、これを実現する方法がわからなくなっており、html5 / javaの知識がなくてもこのタスクを完了できるかどうかは少し疑問です。たぶん誰かがそのような困難に遭遇したことがあり、手がかりを共有するでしょうか?
https://jsfiddle.net/osav574j/ <-スクリプトの単純化されたバージョンを用意しました。これにより、コード全体がどのように見えるかがわかります。ハイライト部分はおそらく間違っています、それは私がそれがどのように行われると思ったかをあなたに示すためだけですが、それは純粋な仮定です。
乾杯!悪魔
executeScript()
以下のように使用してみてください:-
var element = driver.findElement(By.xpath("xPath goes here"));
driver.executeScript("arguments[0].style.backgroundColor = 'red'", element);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加