python selenium实现点击a href="javascript.void(0)"

在使用selenium进行登录操作练手时,发现登录按钮是用a href="javascript.void(0)"实现的,
于是按照习惯思维进行点击

a = soup.find_all('a')
for names in a:
    try:
        print (names['href'])
        if names['href'] == "javascript:void(0);":
            print "IM IN HUR"
            names.click()
            break
    except:
        continue

发现无法点击,提示names没有那个点击属性
因为他是xml属性,没有点击属性,需要进行如下改造

aElements = browser.find_elements_by_tag_name("a")
for name in aElements:
    if(name.get_attribute("href") is not None and "javascript:void" in name.get_attribute("href")):
        print("IM IN HUR")
        name.click()
        break

这个代码量比较多,还可以通过xpath实现
当登陆选项有class标签为login时可用。或者其他的。

links = browser.find_element.by_xpath('//a[@class="login"]')
links.click()

https://stackoverflow.com/questions/35635988/selenium-and-python-cant-click-href-javascriptvoid0-with-click

Python Selenium 是一种自动化工具,主要用于控制 Web 浏览器并模拟用户操作,如输入文本、点击按钮等。它能够帮助开发者、测试工程师等自动化完成网页交互任务,特别适合于进行大规模的数据抓取、自动化测试以及功能验证等工作。 ### 实现点击的基本步骤: 以下是通过 PythonSelenium 库来实现点击一个 HTML 元素的基本步骤: #### 步骤 1: 安装 Selenium 首先需要安装 Selenium 库。可以使用 pip 进行安装: ```bash pip install selenium ``` #### 步骤 2: 导入必要的库 ```python from selenium import webdriver from selenium.webdriver.common.by import By import time ``` #### 步骤 3: 配置浏览器驱动 为了运行 Selenium,你需要提供一个浏览器驱动程序。例如,如果你使用 Chrome 浏览器,则需要下载对应的 ChromeDriver,并将其添加到系统路径中。 ```python # 根据你的操作系统选择相应的浏览器驱动 driver_path = 'path_to_your_chromedriver.exe' ``` #### 步骤 4: 初始化 WebDriver 对象 创建一个新的 WebDriver 实例,并打开指定的 URL: ```python driver = webdriver.Chrome(executable_path=driver_path) driver.get("https://www.example.com") ``` #### 步骤 5: 定位元素并触发点击事件 使用各种定位策略找到要点击的元素。Selenium 提供了多种定位方法,比如 `By.ID`, `By.NAME`, `By.XPATH`, 等: ```python # 通过 ID 来查找元素并点击 element = driver.find_element(By.ID, "button-id") element.click() # 或者通过 XPath 来查找元素并点击 element = driver.find_element(By.XPATH, "//button[text()='Click me']") element.click() ``` #### 步骤 6: 结束会话 最后,在完成所有操作后,记得关闭 WebDriver 实例: ```python time.sleep(5) # 挂起五秒以便观察效果(非必要) driver.quit() ``` ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值