Ассоциация расширений файлов Windows 7

Вы можете использовать селектор атрибута = значение для нацеливания на href. В этом случае я использую подстроку в конце с помощью оператора содержимого (*).

WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '[href*=ctl08]'))).click()

Я добавляю в ожидании кликабельного состояния в качестве меры предосторожности. Вы могли бы, вероятно, удалить это.

Дополнительный импорт

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

Без условия ожидания:

browser.find_element_by_css_selector('[href*=ctl08]'),click()

Другой способ:

Теперь вместо этого вы может изначально установить счетчик результатов страницы равным 100 (максимум), а затем перебрать выпадающий список страниц результатов для загрузки каждой новой страницы (тогда вам не нужно работать над количеством страниц)

import requests, re
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
url ='http://jobquest.detma.org/JobQuest/Training.aspx'
browser.get(url)
submit_button = browser.find_element_by_id('ctl00_ctl00_bodyMainBase_bodyMain_btnSubmit')
submit_button.click()
WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '[value="100"]'))).click()
html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
rows = soup.find_all("tr",{"class":"gvRow"})
id_list=[]

for row in rows:
    temp = str(row.find("a"))[33:40]
    id_list.append(temp)

elems = browser.find_elements_by_css_selector('#ctl00_ctl00_bodyMainBase_bodyMain_egvResults select option')
i = 1
while i < len(elems) / 2:
    browser.find_element_by_css_selector('#ctl00_ctl00_bodyMainBase_bodyMain_egvResults select option[value="' + str(i) + '"]').click()
    #do stuff with new page
    i+=1

[ 1113] Вы сами решаете, что делать с извлечением информации о строках с каждой страницы. Это должно было дать вам простую структуру для зацикливания всех страниц.

7
задан Tamer 1 September 2010 в 17:52
поделиться

1 ответ

Мое решение не состояло в том, чтобы попытаться удалить UserChoice ключ (только администраторы могут сделать это), но удалить ключ эти ProgId указывает. Если пользователь сделал выбор в прошлом эти ProgId, имеет значение как Applications\*.exe. Неадминистратор может удалить ключ в пакете:

REG DELETE HKCR\Applications\*.exe /f

Это могло бы быть определенным взломом, но работало на меня.

0
ответ дан 7 December 2019 в 09:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: