gpt4 book ai didi

python - 在 Python 中使用 Selenium 浏览分页表

转载 作者:行者123 更新时间:2023-11-30 22:34:28 25 4
gpt4 key购买 nike

我正在查看以下链接中的表格:

http://cancer.sanger.ac.uk/cosmic/sample/overview?id=2120881

通过Python中的selenium。这是代码:

driver = webdriver.Chrome()
driver.get('http://cancer.sanger.ac.uk/cosmic/sample/overview?id=2120881')
elem = driver.find_element_by_link_text("Variants")

while elem:
elem.click()
time.sleep(5)
try:
elem = driver.find_element_by_link_text("Next")
print(elem.is_enabled())
if 'disabled' in elem.get_attribute('class'):
break
except:
print('Next not available or page not loaded!')
driver.quit()

我无法将显示值的数量更改为 100。我该怎么做?

另外,为什么即使按钮变得不可点击,is_enabled() 也会返回 True?

提前致谢!

最佳答案

问:我无法将显示值的数量更改为 100。我该怎么做?解决方案:您必须使用 Select Class ( link ) 从下拉列表中选择值

问题:即使按钮变得不可点击,为什么 is_enabled() 仍返回 True?

is_enabled() 仅在启用时才返回 True,如您所见,当启用它并发布其进入中断循环并按预期退出时,True 只打印了 3 次

刚刚使用 Select 和 Break print 语句更新了您的代码:

from selenium import webdriver
import time
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://cancer.sanger.ac.uk/cosmic/sample/overview?id=2120881')
elem = driver.find_element_by_link_text("Variants")



while elem:
elem.click()
time.sleep(5)
select = Select(driver.find_element_by_name('DataTables_Table_0_length'))
select.select_by_value('100') # you can use any value
try:
elem = driver.find_element_by_link_text("Next")
print(elem.is_enabled())
if 'disabled' in elem.get_attribute('class'):
print "Before Break"
break
except:
print('Next not available or page not loaded!')

driver.quit()

输出为:

True
True
True
Before Break

关于python - 在 Python 中使用 Selenium 浏览分页表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44833755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com