1

Seleniumでのパターンマッチングについてサポートが必要でした。次の内部divタグを読み込もうとしています。

<div>
     <div class="xyz one"></div>

     <div class="xyz two"></div>

     <div class="xyz three"></div>
</div>

これを行う方法はありますか?任意の提案をいただければ幸いです。

乾杯

4

3 に答える 3

4

これは、テキスト「xyz」を含むすべてのdivタグを選択するために使用できるXPathです。

"//div[contains(@class, 'xyz')]"

したがって、これを使用するには、この行を使用します。これにより、テキスト「xyz」を含むすべてのdivのコレクションが作成されます。

var divElements = driver.FindElements(By.XPath("//div[contains(@class, 'xyz')]"));
于 2012-08-01T22:34:15.437 に答える
2
IWebDriver driver = new FirefoxDriver();
driver.FindElement(By.CssSelector("div.xyz"));
于 2012-08-01T09:24:36.267 に答える
1

質問はすでに回答済みのよう です。Pythonを使用してSeleniumWebDriverでWebElementのHTMLソースを取得します 。次に、出力を解析できます。

編集

物事を簡単にするために:(Pythonを使用して)

試す:

class_list = [] 
my_divs = driver.find_elements_by_css_selector(div[class*=xyz])
for div in my_divs:
   outerHTML = div.get_attribute("outerHTML")
   classpos = outerHTML.find('class=') #find where our class identifier begins
   quote_begin = outerHTML.find('"',classpos) 
   quote_end = outerHTML.find('"', quote_begin+1)
   our_class = outerHTML[classpos:quote_end+1] #get the entire class identifier
   class_list.append(our_class)
   print our_class

私の4行と同じことをする1行のコードを持っている人がいると確信していますが、これが私が思いついたものでした。また、このコードは非常に迅速にJavaに変更できます

于 2012-08-01T04:02:22.103 に答える