[英]Python Selenium click on a specific row in a table containing the right data in a column
所以我有一個表,可以有0到x行,並且總是有7列。
像下面這樣。
Type Price Store Weight For-sale Stock Discount
x
x
x
x
x
HTML的外觀如下:
<table id="my_table" class="datatable" cellspacing="0" cellpadding="0" border="0" style="border-width:0px;border-collapse:collapse;"> <tbody> <tr> <tr class="row" style="cursor:pointer;" onclick="javascript:__doPostBack('my$table','Select$0')"> <td> <td class="first">Meat</td> <td>75</td> <td>Adams grocery</td> <td align="center">1kg</td> <td>Yes</td> <td>Full</td> <td>Yes</td> <td> </tr> <tr class="row" style="cursor:pointer;" onclick="javascript:__doPostBack('my$table','Select$1')"> <td> <td class="first">Vegetable</td> <td>25</td> <td>Adams grocery</td> <td align="center">0.5kg</td> <td>No</td> <td>Empty</td> <td>No</td> <td> </tr> </tbody> </table> </div>
我想做的是單擊每一行(如果存在的話),其中包含文本“ Adams雜貨店”(在第3列中),以便它們在單獨的標簽中打開,然后立即為所有標簽提供新說明。 例如:在所有選項卡上單擊“歡迎”按鈕。 我覺得以上內容對於初學者來說可能有點太復雜了。所以我想也許只是單擊其中的一行即可。
一整天都在考慮這個問題,謝謝大家的幫助!
您是否需要以下內容:
經過測試的HTML: http : //jsfiddle.net/zvhrm6tf/
from selenium.webdriver.support.wait import WebDriverWait
td_list = WebDriverWait(driver, 10).until(lambda driver: driver.find_elements_by_css_selector("#my_table tr td"))
for td in td_list:
if(td.text == "Adams grocery"):
td.click()
如果您需要定位表行,則可以執行以下操作:
tr = td.find_element_by_xpath("..")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.