0

我正在使用 selenium 和 python 自动化一个过程。但我被一些东西困住了。我必须单击使用硒的链接。这个链接是href,每次都会动态生成。href 链接将类似于 3。对于另一个页面,它将是 66

现在来模拟这个链接的点击,有什么方法可以点击吗?如何获取动态生成的链接?我正在为 selenium webdriver 使用 python 代码。

示例尝试" self.driver.find_element(By.CSS_SELECTOR, "create_job_listing_ajax > div:nth-child(4) > div > div > div:nth-child(2) > center > a").click()//将 URL 复制为 xpath

4

2 回答 2

0

你写的很漂亮,让它更轻松!

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '#create_job_listing_ajax > div:nth-child(4) > div > div > div:nth-child(2) > center > a'))).click()

或者

self.browser.find_element_by_css_selector('#create_job_listing_ajax > div:nth-child(4) > div > div > div:nth-child(2) > center > a').click()
于 2021-09-07T09:55:14.840 回答
0

由于我们不必enough HTML适当地给出working xpath或任何其他locater,最好的方法是使用below xpath.

//div[@class='col']/center[@class='center_tag']/a

最后看看我们能够达到a tag哪个具有href动态生成的属性。

现在您应该始终检查 HTML DOM。

检查步骤:

Press F12 in Chrome -> go to element section -> do a CTRL  + F -> then paste  and see `//div[@class='col']/center[@class='center_tag']/a` is getting highlighted or not. 

我们还必须确保我们不会使用该 xpath 获得多个节点。检查最右边我们有多少条目?应该是1/1让它发挥作用。

代码 :

self.driver.find_element(By.XPATH, "//div[@class='col']/center[@class='center_tag']/a").click()
于 2021-09-07T17:12:49.100 回答