0

以下は、Web ページのコンテンツの一部です。

<td><a href="/aems/example.com">TEST LTD</a></td>
<td>SFFFFGG, JHFUJ, Hawaii,</td>
<td>aaaa</td>

私が知っていればaaaa、とにかく値を見つけることができますTEST LTDか? いつも私に知られているようにTEST LTD、実行時の値はどこにありますか。上記のコンテンツの一部の前後に、aaaaさらに多くのウェブページがあります。<td>html

編集

コード

require "rubygems"
require "selenium-webdriver"

driver = Selenium::WebDriver.for :firefox
driver.get "https://www.example.com"

element = driver.find_element :name => "username"
element.send_keys "######"
element = driver.find_element :name => "password"
element.send_keys "######"
element.submit
element = driver.find_element(:name, "btnHome")
element.click
element=driver.find_element(:link, "Suppliers")
#print element.attribute(:href)
element.click
element = driver.find_element :name => "search.locationIdentifier"
element.send_keys "H00371101"
element = driver.find_element :name => "btnSearch"
element.click

# all_table_data = driver.find_elements(:tag_name, "td")

 # all_table_data.each do |td|

   # puts td.text

 # end

 element2 = driver.find_elements(:xpath,"//td[text()='H00371101']/preceding-sibling::td[2]")

puts element2

エラーは削除されましたが、値は出力されませんでした。

4

2 に答える 2

0

これは、xpath セレクターを使用して実行できます。次のような特定のコンテンツを持つ要素を見つけることができます。

 element1 = driver.findElement(By.xpath("//td[text()='aaaa']"))

および前の兄弟を含む特定のコンテンツ、

 element2 = driver.findElement(By.xpath("//td[text()='aaaa']/preceding-sibling::td[2]"))

これで、必要な操作を element2 に対して実行できます。

firebug と xpath チェッカーで inspect xpath を使用することをお勧めします。

それが役立つことを願っています。

于 2013-01-20T14:18:11.837 に答える