あなたが「のgetAttribute」メソッドを使用することができ、そしてそれは「ヌル」を返した場合、それはまったくの属性が存在しないことを意味します...
セレンからドキュメント:
WebElement.getAttribute(attributeName) → Thenable<(string|null)>
要素の指定された属性の値を照会するコマンドをスケジュールします。ページがロードされた後に変更された場合でも、現在の値を返します。より正確には、このメソッドは、その属性が存在しないかぎり、指定された属性の値を返します。この場合、同じ名前のプロパティの値が返されます。いずれの値も設定されていない場合、nullが返されます(たとえば、textarea要素の "value"プロパティ)。 「スタイル」属性は、末尾のセミコロンを含むテキスト表現に最もよく変換されます。例えば
:
HTMLコード:Nodejsで
<div id="a" >1</div>
<div id="a" x="xxx" >2</div>
<div id="a" x >3</div>
テストコード:
var webdriver = require('selenium-webdriver');
var capabilitiesObj = {
'browserName' : 'firefox'
};
var driver = new webdriver.Builder().withCapabilities(capabilitiesObj).build();
driver.get('http://localhost/customer.js/temp/index60.html');
driver.findElements(webdriver.By.css('div[id=a]')).then((elements) => {
elements[0].getAttribute('x').then((att)=> {
console.log(att);
});
}).catch(console.log.bind(console));
driver.quit();
異なるであろう各DIVに対する結果:
for div 1: null
for div 2: 'xxx'
for div 3: ''
彼はSelenium&Selenium IDEの両方でタグ付けしましたが、質問はIDEソリューションを求めていました。 – DMart