这是一个图片,当点击该图片时,用户被重定向到另一个页面。
<div class="lis_el " id="cel_lisimg_18755" onclick="lis_mostrarficha(0);">
<div class="lis_elc ">
<div class="lis_eloverflow">
<div class="lis_elc_img">
<div class="lis_elc_imgc"><img class="lis_elc_img_img" id="lisimg_18755" src="https://sgfm.elcorteingles.es/SGFM/dctm/MEDIA03/201705/29/0280282401564764342_1_.jpg">
</div>
</div>
</div>
<div class="lis_info ">
<div class="clear"></div>
<div class="lis_info_precio">
5<span class="lis_info_preciop">,99€</span>
</div>
<h2>Camiseta flame</h2>
<div class="lis_mascol displaynone" id="lis_mascol18755" style="display: block;">+ Colores</div>
</div>
</div>
</div>
我试图在Python中使用Selenium获取该链接,但我不知道从哪里可以获得它。但是我注意到了这一点,我想这个函数会进行重定向:
onclick="lis_mostrarficha(0);
我在网络开发方面没有太多经验,所以我不确定如何在不点击的情况下获取该链接,因为这需要太长时间。
谢谢,
答案 0 :(得分:1)
在这种情况下,您必须执行click事件,因为HTML不包含链接到图像的URL - 它调用脚本。 可以完成的是使用Selenium单击包含onclick事件的元素。
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
options = Options()
options.add_argument('--disable-infobars')
driver = webdriver.Chrome(chrome_options=options)
div = find_element_by_id('cel_lisimg_18755')
div.click()
# Then wait for the page to load
# Get the URL
url = driver.current_url
print(url) # Assumes v3 python