我想点击链接名称" 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 code:
<ul>
<li><a class="menu" onclick="toggleswitch(this)" href="javascript:parent.loadViewer('VE.xsl','VehicleExteriorForms','CDC','',2,-1,1,'247573099','Vehicle 2 Exterior - CDC - 12FDEW01',773013618)">12FDEW01</a><img src="img/info.png" alt="
Event 1 : Struck Vehicle 1" title="
Event 1 : Struck Vehicle 1"></img></li>
</ul>
答案 0 :(得分:0)
尝试以下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的值
希望它会对你有所帮助:)。