繁体   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