【发布时间】:2018-10-15 18:25:51
【问题描述】:
在以下使用 Python 和 Selenium Web 驱动程序的场景中再次面临挑战的朋友:-
-
单击链接名称为“区域排名网站”时未发生单击事件。 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&src=Main.aspx.2048001&visMode=0&currentViewMedia=1&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&src=Main.aspx.2048001&visMode=0&currentViewMedia=1&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&src=Main.aspx.3032&objectType_3032=55&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。 有一个块有两个值:- AREA,DISTRICT。您可以选择多个值,然后单击箭头按钮,将所选内容移动到块的右侧,然后单击提交按钮
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>
尝试了以下方式,但点击事件没有发生
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。避免同时提出多个不同的问题。
-
您可以忽略第二个问题。在第一个 m 尝试单击一个对象时,不确定它是否是链接。我附上了 HTML 代码供您参考。 M 试图在该链接上生成点击事件,但它没有发生。我尝试了我分享但没有成功的可能方法。请建议
标签: python selenium selenium-webdriver