我在創建有效函數時會遇到問題,該函數將突出顯示網頁上某些定義的元素。請注意,我是編碼初學者,問題可能是簡單的環境設置問題,或者缺乏javascript/selenium功能的主要知識。Selenium-WebDriver如何使用JavaScript和Firefox瀏覽器突出顯示元素
我在Eclipse Neon中創建了我的腳本。爲了建立一個環境,我安裝了node.js和geckodriver,以便能夠在Firefox瀏覽器上運行。我的劇本的開頭是:
var webdriver = require('selenium-webdriver'),
By = webdriver.By
var driver = new webdriver.Builder().forBrowser('firefox').build();
我用driver.get();
打開網頁,然後我只需使用XPath例:
var element = driver.findElement(By.xpath("xPath goes here"));
定義元素的位置,現在的問題開始,又該我確實讓WebDriver用ex來突出顯示這個指定的元素。紅色邊框?在瀏覽堆棧和其他類似的網頁,我發現的唯一答案就是使用
element.style.backgroundColor = 'red'
,但我得到的控制檯錯誤一些有關Java的語法使用JavaScript執行人,或一些webdriver的功能,即style
或的其他部分語法不是一個函數。在這一點上,我沒有解決如何做到這一點,我慢慢懷疑,我將能夠完成這項任務,而不需要關於html5/java的知識。也許任何人遇到過這樣的困難,並會分享線索?
https://jsfiddle.net/osav574j/ < - 我準備了我的腳本的簡單版本,它可能會給我一個關於我的完整代碼的樣子的線索。亮點部分可能是錯誤的,只是爲了向你展示,我是如何看待它的,但這是純粹的假設。
乾杯! Perkele
完美的作品! driver.executeScript();是我一直在尋找的東西。謝謝你Saurabh! – Perkele