簡體   English   中英

沒有名字或ID的Selenium點擊按鈕

[英]Selenium clicking button with no name or id

我一直在努力嘗試自動化這個頁面。 登錄后,我在這個頁面上,在我將我重定向到下一頁之前,我應該點擊一個按鈕。 問題是這個按鈕沒有名稱或ID,這使得很難找到這個元素。 我試過機械化和分裂。 最后嘗試了硒,但這也沒有幫助。 真的很掙扎。 只需要點擊這個該死的按鈕! 任何幫助都會非常感激。 喜歡python和自動化,但這次似乎沒有什么對我有用。 請在下面找到一張快照,顯示我點擊“檢查元素”時顯示的代碼。 此外,我不能在這里鍵入頁面​​源代碼,因為它是> 300000個字符,所以你可以看看頁面(你需要登錄,只需10秒)。 我所指的頁面就在您登錄后 - http://www.160by2.com/Index

[! 快照顯示我點擊“檢查元素”時得到的代碼[ ] [1] ] 1

班級名稱

driver.findElement(By.className( “DA-SMS-BTN”)。

您還可以在Chrome中打開應用程序並在瀏覽器中復制CSS或XPATH:

  1. 在Chrome中打開應用程序
  2. 檢查元素
  3. 右鍵單擊突出顯示的區域
  4. 復制CSS或XPATH

您可以嘗試首先通過id獲取表單,然后按類名獲取按鈕:

wd.find_element_by_id("frmDashboard").find_element_by_class_name("da-sms-btn").click()

您可以嘗試通過其xpath查找元素。 Selenium做得很好:

webdriver.find_element_by_xpath("element xpath").click()

您可以通過轉到Chrome上的inspect元素側欄並右鍵單擊所需的元素來輕松找到xpath。 右鍵單擊下拉菜單應該有一個選項“copy xpath”。

我會寫一個cssSelector如下,並嘗試。

button[onclick*='aSMS']

請注意,我正在進行部分搜索*

非常感謝您的回復! 我實際上能夠使用碎片而不是硒來使其工作! 這是我做的 -

1)我剛剛執行了在按鈕的onclick事件上執行的js。

jsstring="window.parent.openPage('SendSMS?id="+id+"', 'aSendSMS', 'aSMS', 'ulSMS')"
br.execute_script(jsstring)

2)隨后,我面臨的問題是,在下一頁上,所有內容都嵌入在iframe中,所以find_by_name和所有都無法找到元素。 為此,splinter提供了一個很好的方法(記錄得很糟糕,所以不得不在stackoverflow的幫助下弄明白)

with br.get_iframe('iframe_Name') as iframe:
     iframe.fill("Element_to_fill_Name","Text_to_fill")
     iframe.find_by_tag("TagName")[Index_number].fill("Text_To_Fill")

出色地完成了! 感謝大家 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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