发布
社区首页 >问答首页 >如何使用调用javascript函数的selenium (python)自动单击<a>标记?

如何使用调用javascript函数的selenium (python)自动单击<a>标记?
EN

Stack Overflow用户
提问于 2022-03-18 13:52:36
回答 3查看 110关注 0票数 0

如何访问并单击指向javascript函数的超链接按钮?

html元素:

代码语言:javascript
代码运行次数:0
复制
<a href="javascript:Nav('-index=')" id="ctl04_ctl25_ctl00_lnk2NextPg" class="twPagerBtn right" role="button" onclick="mySpud.container.scrollIntoView();" title="Next Page" aria-label="Next Page">►</a>

我现在的代码是:

代码语言:javascript
代码运行次数:0
复制
next_button='//*[@id="ctl04_ctl06_ctl00_lnk2NextPg"]'
try:
    element=WebDriverWait(driver,15).until(
        EC.presence_of_element_located((By.XPATH,next_button))
        
    )

    element.click()
except:
    driver.quit()

Selenium无法找到元素,我还尝试使用find_element()函数使用各种方法(by等),但都没有效果。

EN

回答 3

Stack Overflow用户

发布于 2022-03-18 14:15:02

定位器//*[@id="ctl04_ctl06_ctl00_lnk2NextPg"]似乎不是静态的。

试试这个:

代码语言:javascript
代码运行次数:0
复制
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@aria-label='Next Page']"))).click()

如果这不起作用,那么您可以尝试如下:

代码语言:javascript
代码运行次数:0
复制
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a[@aria-label='Next Page']")))
driver.execute_script("arguments[0].click();", element)

候补定位器:

您可以使用//*[@title= 'Next Page']代替@aria-label定位器备用定位器:

票数 0
EN

Stack Overflow用户

发布于 2022-03-18 22:38:44

你必须在这里处理几件事:

  • -- id属性的初始部分是动态的,就像在ctl04_ctl25_ctl00_lnk2NextPg中一样,每次重新访问页面时都会发生变化。因此,您必须构造一个动态

  • 在调用click()时继续前进,而不是presence_of_element_located(),您必须为引入WebDriverWait,并且可以使用以下定位器策略

之一

使用

  • CSS_SELECTOR

(驱动程序,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,)WebDriverWait$=‘NextPg’‘aria WebDriverWait=’Next Page'"))).click()

使用

  • XPATH

(驱动程序,20).until(EC.element_to_be_clickable((By.XPATH,“//WebDriverWait(@id,'NextPg')"))).click() )

票数 0
EN

Stack Overflow用户

发布于 2022-03-19 03:07:52

只需直接调用该函数:

代码语言:javascript
代码运行次数:0
复制
driver.execute_script("Nav('-index=')")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71528085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档