我试图点击" Coevolution Scores(TXT)"单击"导出..."后弹出的按钮但是,使用python脚本here,我无法使用机械化和硒,使用不同的选择类型。
还有其他方法,或者你能否弄清楚我做错了什么?
我使用了这段代码:
url="http://polyview.cchmc.org/cgi-bin/coevolve.cgi?JOB=c8a266e0d7ba7cc"
driver = webdriver.Chrome(executable_path="C:/ProgramFiles/Google/Chrome/Application/chromedriver.exe")
driver.get(url)
time.sleep(15)
driver.find_element(by=By.XPATH, value="//button[@title='Export...']").click()
也尝试通过link_text和放置find_element_by_link_text
,而不是将参数放在里面。下面是我尝试点击的按钮。
<form id="downloadMat" target="formTarget" method="POST" action="coeviz_data.pl">
<input name="x" class="idData" type="hidden" value="683436.chi">
<input name="dl" class="dlData" type="hidden" value="683436.chi.wph">
<input name="w" class="weighted" type="hidden" value="wph">
<input name="res" type="hidden" value="scores.txt">
<button onclick="submit()">Coevolution Scores (TXT)</button>
</form>
答案 0 :(得分:1)
您尝试选择的代码位于<iframe>
元素内。这意味着您必须先切换帧,然后才能选择其中的任何内容。这将有效:
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
url="http://polyview.cchmc.org/cgi-bin/coevolve.cgi?JOB=c8a266e0d7ba7cc"
driver = webdriver.Chrome(executable_path="C:/ProgramFiles/Google/Chrome/Application/chromedriver.exe")
driver.get(url)
time.sleep(15)
driver.switch_to_frame('ifCoeViz')
driver.find_element(by=By.XPATH, value="//button[@title='Export...']").click()