簡體   English   中英

Python Selenium單擊表中包含正確數據的特定行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM