使用selenium python模拟onclick

我对selenium很新,我正在试图弄清楚如何模拟onclick

这是我在检查html源代码时在源代码中看到的内容

<a href="#" onclick="document.getElementById('pN').selectedindex = 0;document.getElementById('optionList').submit();return false"> <img src="images/ListingOptionSearch.jpg" onm ouSEOver="this.src='images/ListingOptionSearchHover.jpg'" onm ouSEOut="this.src='images/ListingOptionSearch.jpg'"> </a>

我试过了 :

driver.find_element_by_css_selector("a[onlick*=document.getElementById('pN')
.selectedindex]").click()

但是我得到一个InvalidSelectorException

任何的想法?

谢谢!

解决方法:

您可以使用

from selenium import webdriver
browser = webdriver.Chrome(somepath) # You should kNow what this does.
browser.execute_script("document.getElementById('pN').selectedindex = 0;document.getElementById('optionList').submit();return false")

这意味着您只需使用.execute_script即可执行Javascript代码,真棒,对吧?

无效的InvalidSelectorException是在没有元素或经验的情况下引发的期望,可能存在iframe,您必须使用.switch_to.frame才能与之交互.
此外,我喜欢使用XPath(总是最可靠),需要一点时间习惯,但是练习一两个小时就可以得到它.

JeffC有一个好点,HTML的结构,JS总能改变.
您可以使用find_element_by_xpath(xpath).click(),但也有更多动态方法来预测结构将要更改,使用类似find_element_by_name或其他可用的方法

find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...