Webページ私は自動化しようとしています100以上のリンク(教師の名前)のリストが含まれています。私の仕事は、各リンクをクリックして、生徒情報が(同じページに)読み込まれ、ブラウザの戻るボタンをクリックし、最後のリンク(教師の名前)の最後まで2番目の教師の名前をクリックすることです。コード上xpathで要素を見つけてループして見つかった各要素をクリック
from selenium import webdriver
import time
driver=webdriver.Ie()
driver.get('I load my main page')
tablecontent=driver.find_elements_by_xpath("//table/tbody/tr/td/a") #see html code provided below
tablelen=len(tablecontent) #find number of links on main page.
#loop through each link
for i in range(2,tablelen):
driver.find_element_by_xpath("//table/tbody/tr[i]/td/a").click() #plug in i value to tr
time.sleep(2)
driver.back()
Iはtr[2]
(または括弧内の任意の整数値)によってtr[i]
を交換した場合、エラー
Traceback (most recent call last):
File "C:/Python27/syn_xpath.py", line 14, in <module>
driver.find_element_by_xpath("//table/tbody/tr[i]/td/a").click()
NoSuchElementException: Message: Unable to find element with xpath == //table/tbody/tr[i]/td/a
下に生成し、それは要素を認識し、それをクリックします。たとえば、driver.find_element_by_xpath("//table/tbody/tr[2]/td/a").click()
は問題なく動作します。 i
(for
ループ内)経由で整数値をtr
に渡す理由は何ですか?
HTMLコード:
<table>
<tr><td nowrap><b>Teacher</b></td><td nowrap><b>School</b></td></tr>
<tr><td><a href="/db/status.php?teacherid=1234">Teacher1</a></td><td>XYZ High School</td></tr>
<tr><td><a href="/db/status.php?teacherid=5678">Teacher2</a></td><td>ABC School</td></tr>
<tr><td><a href="/db/status.php?teacherid=1111">Teacher3</a></td><td>International School</td></tr>
コードがコード – Gary99