[问题] 用selenium 勾选 checkbox 问题

楼主: ChanSui (肥宅毅毅)   2020-11-27 11:56:48
各位大大您好
小弟最近遇到一个问题
heml如下
<tr>
<td valign="middle">
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td><input name="_EinsPubFav11"
onclick="AdvTreeClickEinForm0(&quot;EinForm0&quot;,&quot;&quot;,&quot;EinsPubFav11&quot;,event);"
type="CHECKBOX"></td>
<td valign="top"><a
href="javascript:AdvTreeExpandEinForm0(&quot;EinForm0&quot;,&quot;EinsPubFav11&quot;)"><img
src="/ImgTmp/CPN_EIPWEB_EIPadv_tree0002.gif" border="0" height="20"
width="19"></a></td>
<td><a
href="javascript:AdvTreeExpandEinForm0(&quot;EinForm0&quot;,&quot;EinsPubFav11&quot;)"
class="Default">台北全体员工</a></td>
</tr></tbody></table></td>
</tr>
因为是checkBox 没有id 也没有nema 属性让我寻找
所以做法是使用 css_selector 来寻找
browser.find_element_by_css_selector("input[name='_EinsPubFav11']").ckick()
原本也有查到使用find_element_by_xpath 但这方法好像也行不通都会跑错误讯息
想问一下大大 如果我需要勾选Checkbox的话该怎么改比较好?
作者: rexyeah (ccccccc)   2020-11-27 13:52:00
onclick会fire AdvTreeClickEinForm0 要给参数
作者: geniusofgod (Pad0)   2020-11-27 17:05:00
selenium 有find_element_by_name 但是如果网页上有多个相同name的物件 就会去抓第一个(不一定是你要)用find_elements_by_name 会抓全部放到list你原本的方式就是可以的 感觉没必要再改也没必要带参数 你要click的东西本身就写好参数了

Links booklink

Contact Us: admin [ a t ] ucptt.com