[問題] 用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