[英]how to click a link using selenium driver in python while don't know the text inside anchor tag
我使用selenium+phantomJS+scrapy
來抓取 javascript 內容。 我想在加載 javascript 內容后單擊表中的鏈接。 但最重要的是,隨着輸入內容的不同,我想點擊的鏈接發生了變化。
然后我想使用 xpath 來定位鏈接,但我失敗了。 這是我編寫的 html 元素和 xpath。
<div class="results searchResults" style="display: block;”>
<table cellspacing="0" id="resultGroup">
<colgroup>
<col width="4.216%">
<col width="43.13%">
<col width="52.65%">
</colgroup>
<tbody>
<tr class="">
<td class="selector">
<a href="#" id="c_2441797" title="Apple Inc." class="checkbox unchecked"> </a>
</td>
<td class="name">
<div>
<a href="#!search/profile/company?companyId=2441797&targetid=profile" class="companyResultsName">Apple Inc.</a>
<a href="http://www.google.com/finance?client=ob&q=NASDAQ: AAPL" rel="external" target="_blank">(NASDAQ: AAPL)</a>
</div>
xpath 是self.driver.find_element_by_xpath(".//*[@id='resultGroup']/tbody/tr[@class='name']/div[1]/a[@class='companyResultsName']").click()
希望有人能給我一個提示。 謝謝。
如果你的元素是由JavaScript
動態生成的,你應該等到它出現在DOM
:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
link = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "companyResultsName")))
link.click()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.