簡體   English   中英

使用Selenium Web驅動程序在Python中沒有發生點擊事件

[英]Click event not happening in Python with Selenium web driver

在以下使用Python與Selenium Web驅動程序的場景中,朋友再次面臨挑戰:-

  1. 單擊鏈接名稱為“ Area Rank Web”時,不會發生Click事件。 MSTR報告的HTML代碼如下:-

     <td class="mstrLargeIconViewItemText" rowspan="1" colspan="1" cx="[2,1,0,5,1,6,7]" cxid="folderAllModes_cmm" oid="600E4BA841AC84797221F7BB5262C3E0" oty="55"><a title="Run Document" class="mstrLargeIconViewItemLink" onclick="return submitLink(this, event);" href="Main.aspx?evt=2048001&amp;src=Main.aspx.2048001&amp;visMode=0&amp;currentViewMedia=1&amp;documentID=600E4BA841AC84797221F7BB5262C3E0" runasexpress="1" alt="Run Document"></a><div class="mstrLargeIconViewItemName"><span sty="nm"><a title="Area Rank Web" class="mstrLink" onclick="return submitLink(this, event);" href="Main.aspx?evt=2048001&amp;src=Main.aspx.2048001&amp;visMode=0&amp;currentViewMedia=1&amp;documentID=600E4BA841AC84797221F7BB5262C3E0" runasexpress="1">Area Rank Web</a></span></div><div class="mstrLargeIconViewItemOwner"><label>Owner:</label><span><div title="Administrator" class="owner">Administrator</div></span></div><div class="mstrLargeIconViewItemModified"><label>Modified:</label><span><div timestamp="1525148536000">5/1/18 4:22:16 AM</div></span></div><div class="mstrLargeIconViewItemDescription"></div><div></div><div class="mstrLargeIconViewItemActions"><span><a class="mstrLink" onclick="if (!mstrFolderActions.checkACL(this, event, '600E4BA841AC84797221F7BB5262C3E0', 55)) return; return submitLink(this, event);" href="Main.aspx?evt=3032&amp;src=Main.aspx.3032&amp;objectType_3032=55&amp;objectID_3032=600E4BA841AC84797221F7BB5262C3E0" ty="sub">Subscriptions</a></span></div></td> 

    我嘗試了以下方法,但沒有成功:

     #driver.find_element_by_xpath(".//*[title='Area Rank Web']").click(); #driver.find_elements_by_class_name (("mstrLargeIconViewItemName") and contains(.,'Area Rank Web')).click() #driver.find_element_by_id("600E4BA841AC84797221F7BB5262C3E0").click() #driver.find_element_by_css_selector("600E4BA841AC84797221F7BB5262C3E0").click() #WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='mstrLargeIconViewItemText']/span[@class='mstrIcon-lg' and contains(.,'Area Rank Web')]"))).click() 

    2.有一個塊,具有兩個值,例如:-面積,面積。 您可以選擇多個值,然后單擊箭頭按鈕,將所選內容移動到塊的右側,然后單擊提交按鈕

    HTML代碼:

     <div title="AREA" class="mstrListBlockItemSelected" style="margin-top: 0px;"><div class="mstrBGIcon_ae mstrListBlockItemName" style="background-position: 2px 50%; padding-left: 23px;">DSI</div></div> <div title="DISTRICT" class="mstrListBlockItem" style="margin-top: 0px;"><div class="mstrBGIcon_ae mstrListBlockItemName" style="background-position: 2px 50%; padding-left: 23px;">ONC</div></div> 

嘗試了以下方式,但沒有發生點擊事件

您可以改用link_text / partial_link_text嗎?

driver.find_element_by_link_text('Area Rank Web').click()

要么

driver.find_element_by_partial_link_text('Area Rank Web').click()

另外,請嘗試先明確等待,然后再單擊鏈接。

WebDriverWait(self.driver, 10).until(expected_conditions.element_to_be_clickable(
             (By.LINK_TEXT, 'Area Rank Web')
))

如果以上所有方法均失敗,請使用execute_script方法在鏈接上調用click事件

link = driver.find_element_by_link_text('Area Rank Web')
driver.execute_script('arguments[0].click();', link)

暫無
暫無

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

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