如何点击包含javascrip的链接

2024-10-06 12:19:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想点击链接名“12FDEW01”并从链接的右侧页面读取数据

'https://www-nass.nhtsa.dot.gov/nass/cds/CaseForm.aspx?  xsl=main.xsl&CaseID=773013618'

它可以通过车辆2进入-->;车辆外部-->;碰撞轮廓
但是内部链接包含java脚本。如何通过点击文本读取数据。你知道吗

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Ie()
url_database = 'https://www-nass.nhtsa.dot.gov/nass/cds/CaseForm.aspx?  xsl=main.xsl&CaseID=773013618'
driver.get(url_database)
aElements = driver.find_elements_by_tag_name("a")
for name in aElements:
    print(name)
    name.click()    
    name.get_attribute('value')

HTML代码:

<ul>
   <li><a class="menu" onclick="toggleswitch(this)" href="javascript:parent.loadViewer('VE.xsl','VehicleExterior‌​Forms','CDC','',2,-1‌​,1,'247573099','Vehi‌​cle 2 Exterior - CDC - 12FDEW01',773013618)">12FDEW01</a><img src="img/info.png" alt="&#xA;Event 1 : Struck Vehicle 1" title="&#xA;Event 1 : Struck Vehicle 1"></img></li>
</ul>

Tags: namehttpsimportimg链接wwwdriverselenium
1条回答
网友
1楼 · 发布于 2024-10-06 12:19:27

请尝试以下XPath:-

//a[@class='menu' and contains(@onclick,'toggleswitch(this)') and contains(.,'12FDEW01') and contains(@href,'javascript')]

如果问题仍然存在,那么使用JavascriptExecutor。它将直接通过JS操作。应该有用。我给出了一个使用JavascriptExecutor单击任何元素的示例

代码如下:

element=driver.find_element_by_xpath('//a[@class='menu' and contains(@onclick,'toggleswitch(this)') and contains(.,'12FDEW01') and contains(@href,'javascript')]') 
driver.execute_script("arguments[0].click();", element)

创建Xpath作为对象,然后按如下所示传递数组值:-

(//a[@class='menu' and contains(@onclick,'toggleswitch(this)') and contains(.,'12FDEW01') and contains(@href,'javascript')])[1]

根据需要更改数组1或数组2的值

希望对您有所帮助:)

相关问题 更多 >